### Docker簡介

[Docker](https://github.com/docker/docker)是一個容器運行平臺,你可以將程序及其依賴打包成容器,在不同機器上運行可得到一致的運行效果。因為不同的系統環境或Go版本可能影響程序的運行結果,為了得到可預測、可重復的實驗環境,我們引入了Docker容器技術。
### Docker使用
我們不僅開源了示例代碼,還創建了官方[Docker鏡像](https://registry.hub.docker.com/u/tobegit3hub/understand_linux_process_examp/)。
只要執行命令`docker run -i -t tobegit3hub/understand_linux_process_examp`,就可以馬上創建本書的實驗環境。進入容器后可以輕易地運行示例程序。
~~~
root@6a8e36a53495:/go/src# go run hello_world.go
Hello World
~~~
當然你也可以在本地運行自己的Go示例,或者使用官方Go鏡像`docker run -i -t golang:1.4 /bin/bash`。
- 前言
- 致謝
- 概述
- 使用代碼
- 使用Docker
- 進程基礎
- 進程是什么
- Hello World
- PID
- PPID
- 使用PID
- 進程名字
- 進程參數
- 輸入與輸出
- 并發與并行
- 進程越多越好
- 進程狀態
- 退出碼
- 進程資源
- 死鎖
- 活鎖
- POSIX
- Nohup
- 運行進程
- Go編程實例
- 衍生新進程
- 執行外部程序
- 復制進程
- 進程進階
- 文件鎖
- 孤兒進程
- 僵尸進程
- 守護進程
- 進程間通信
- 信號
- Linux系統調用
- 文件描述符
- Epoll
- 共享內存
- Copy On Write
- Cgroups
- Namespaces
- 項目實例Run
- 項目架構
- 代碼實現
- 注意事項
- 創建目錄權限
- 捕獲SIGKILL
- Sendfile系統調用
- 后記
- 參考書籍
- 項目學習
- 再次感謝