docker從0開始
一.下載安裝
ubuntu下通過apt install docker.io
命令安裝
二.更改docker映象源
2.1
增加Docker的映象源配置檔案 /etc/docker/daemon.json,如果沒有配置過映象該檔案預設是不存的,在其中增加如下內容(該地址是中國官方區docker映象源)
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
2.2
重啟docker服務
service docker restart
2.3
檢視是否更新成功
docker info | grep Mirrors -A 1
出現一下資訊即代表成功
三.拉取映象
docker search xxx
可以查詢,比如我想下載ubuntu14的映象,docker search ubuntu14
可以查詢關於ubuntu14的所有映象,我選的是下面那個純淨的映象
docker pull shippableimages/ubuntu1404_base
等待下載完成即可
四.啟動容器
docker run -it image name/image id bash
五.其他說明
docker容器和映象的區別
容器是映象的例項化,可以將映象看做cpp的類,容器看做類的物件,一個類可以建立多個物件,一個映象也可以生成多個容器。
六.命令解釋
命令 | 引數 | 說明 |
---|---|---|
docker run | 只在第一次執行容器時使用,指定的是一個映象。執行了兩個步驟,將映象放入容器中,然後再將容器啟動 | |
-i | 以互動模式執行容器,讓容器的標準輸入保持開啟,通常與 -t 同時使用 | |
-t | 讓docker分配一個偽終端並繫結到容器的標準輸入上,通常與 -i 同時使用 | |
docker中系統映象的預設命令是 bash,如果不加 -ti bash 命令執行了自動會退出。這是因為如果沒有銜接輸入流,本身就會馬上結束。加-ti 後docker命令會為容器分配一個偽終端,並接管其stdin/stdout支援互動操作,這時候bash命令不會自動退出 | ||
–name | 新建容器時,給容器起個名字 | |
docker start | 啟動一個已經建立好的容器 | |
-a,–attach | 連線容器並列印輸出或錯誤,此命令啟動的容易只能列印,無法進行互動 | |
-i | 啟動容器並進入互動模式 | |
docker exec | 進入已經啟動的容器,exit退出時不會導致容器結束 | |
-it | 已互動模式進入容器 | |
docker attach | 將本機的標準輸入(鍵盤)、標準輸出(螢幕)、錯誤輸出(螢幕)附加到一個執行的容器,也就是說本機的輸入直接輸到容器中,容器的輸出會直接顯示在本機的螢幕上。以本方式進入容器中,exit退出時會導致容器結束 |
上面四個命令都有進入容器的功能,比如我有一個映象如下
docker run --name ub14_test -it 3b853789146f bash
這條命令會同時完成上面三條命令的操作,通過指定的image生成一個容器,把容器命名為ub14_test,然後進入到容器的shell互動終端中。
如果exit退出ub14_test容器之後,再通過docker start -i ub14_test
可以再次啟動容器並進入到shell終端(此時exit退出時容器也會結束)。如果通過docker start ub14_test啟動容器,可以通過docker exec -it ub14_test bash進入容器的shell終端(此時exit退出時容器繼續執行),也可以通過docker attach ub14_test進入(exit退出時容器會結束)。