2 回答

TA貢獻1863條經驗 獲得超2個贊
Docker會在隔離的容器中運行進程。當運行 docker run命令時,Docker會啟動一個進程,并為這個進程分配其獨占的文件系統、網絡資源和以此進程為根進程的進程組。在容器啟動時,鏡像可能已經定義了要運行的二進制文件、暴露的網絡端口等,但是用戶可以通過docker run命令重新定義(譯者注:docker run可以控制一個容器運行時的行為,它可以覆蓋docker build在構建鏡像時的一些默認配置),這也是為什么run命令相比于其它命令有如此多的參數的原因。
命令格式
最基本的docker run命令的格式如下:
$ sudo docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
如果需要查看[OPTIONS]的詳細使用說明,請參考Docker關于OPTIONS的章節。這里僅簡要介紹Run所使用到的參數。OPTIONS總起來說可以分為兩類:
設置運行方式:
決定容器的運行方式,前臺執行還是后臺執行;
設置containerID;
設置網絡參數;
設置容器的CPU和內存參數;
- 設置權限和LXC參數;
設置鏡像的默認資源,也就

TA貢獻1802條經驗 獲得超5個贊
設置鏡像的默認資源,也就是說用戶可以使用該命令來覆蓋在鏡像構建時的一些默認配置。
docker run [OPTIONS]可以讓用戶完全控制容器的生命周期,并允許用戶覆蓋執行docker build時所設定的參數,甚至也可以修改本身由Docker所控制的內核級參數。
Operator exclusive options
當執行docker run時可以設置以下參數:
Detached vs Foreground
Detached (-d)
- Foreground
Container Identification
Name (--name)
- PID Equivalent
IPC Setting
Network Settings
Clean Up (--rm)
Runtime Constraints on CPU and Memory
Runtime Privilege, Linux Capabilities, and LXC Configuration
接下來我們依次進行介紹。
Detached vs foreground
當我們啟動一個容器時,首先需要確定這個容器是運行在前臺還是運行在后臺。
-d=false: Detached mode: Run container in the background, print new container id
Detached (-d)
如果在docker run后面追加-d=true或者-d,那么容器將會運行在后臺模式。此時所有I/O數據只能通過網絡資源或者共享卷組來進行交互。因為容器不再監聽你執行docker run的這個終端命令行窗口。但你可以通過執行docker attach來重新附著到該容器的回話中。需要注意的是,容器運行在后臺模式下,是不能使用--rm選項的。
- 2 回答
- 0 關注
- 844 瀏覽
添加回答
舉報