docker create背後的故事

docker create 和 docker run是建立容器的兩個命令。docker

docker create用於建立一個處於靜止狀態的容器。shell

docker run = docker create + docker startubuntu

以下圖所示,建立容器後,會馬上返回(雖然馬上並沒什麼卵用)容器的ID,每一個容器都有惟一的ID。
centos

1.容器建立命令解析bash

容器有兩種類型:交互型容器和後臺型容器,具體的含義就是字面意思,相似於在控制檯中執行shell命令添加nohup。網絡

docker run -i -t —name=inspect_shell ubuntu /bin/bashspa

上面這條語句表示建立一個交互型容器,其中:命令行

-i表示打開容器的標準輸入;開發

-t表示爲容器創建一個命令行終端;文檔

-i和-t是建立交互型容器的基本設置,建立的是後臺型容器時使用的參數是-d。

--name表示指定一個容器的名字,可選項;

ubuntu參數表示使用哪一個鏡像去建立容器。ubuntu是一個基礎鏡像,相似的基礎鏡像還有centos、fedora等等;

/bin/bash表示在容器中執行的命令;

2.圖解容器的建立流程

a. 運行docker run命令後,docker先在本地搜索指定的鏡像;

b. 若是沒有找到指定鏡像,就去公有倉庫DockerHub中搜索並下載指定鏡像;

    若是在公有倉庫上也找不到指定鏡像,建立失敗,以下;

c. 使用指定鏡像建立容器並啓動;

d. 分配文件系統和配置容器的網絡。 容器的文件系統是在只讀的鏡像文件上增長一層可讀寫的文件層,這樣作能夠保證鏡像不變而只是記錄改變的數據;

e. 執行應用程序;

f. 中止;

容器的建立流程以下圖所示:


參考文檔:《Docker開發實踐》第二章2.1.1建立容器。

相關文章
相關標籤/搜索