因為工作中需要將服務容器化,所以最近開始學習Docker相關的知識,對於Docker入門常用的命令總結如下:
1. 運行容器
$ sudo docker run -i -t ubuntu /bin/bash
-i 標誌保證容器中的STDIN是開啟的-t 標誌告訴Docker為要建立的容器分配一個偽tty終端ubuntu 表示我們建立容器使用的鏡像/bin/bash 表示當容器建立完成之後,Docker就會執行容器中的/bin/bash命令
2. 給容器命名
$ sudo docker run --name my_container -i -t ubuntu /bin/bash
--name為容器指定一個名稱,使用指定的容器名稱比使用容器ID更方便。
3. 重新啟動已停止的容器
#使用容器ID啟動容器$ sudo docker start f5a9f05f4214#使用容器名稱啟動容器$ sudo docker start my_container$ sudo docker restart my_container
除了容器ID,我們還可以使用容器名稱來運行容器,也可以用`docker restart`命令來重新啟動一個容器,運行以上命令,使用`sudo docker ps`就可以看到我們的容器已經開始運行了。
4. 附著到容器上
$ sudo docker attach my_container
Docker容器重新啟動的時候,會沿用`docker run`命令時制定的參數來運行,因此我們的容器重新啟動後會運行一個互動shell,此外可以用`docker attach`命令重新附著到該容器的會話上。運行命令之後可以需要按下斷行符號鍵才能進入該會話,如果退出容器的shell,容器會再次停止運行。
5. 建立守護式容器
$ sudo docker run --name my_container -d ubuntu /bin/bash
-d 標誌Docker會將容器放到後台運行`docker exec`命令會在容器內部額外啟動新進程,可以在容器內啟動並執行進程有兩種類型:背景工作和互動式任務。
#在容器中運行背景工作$ sudo docker exec -d my_container touch /etc/new_config_file#在容器內運行互動式任務$ sudo docker exec -t -i my_container /bin/bash
6.停止守護式容器
#通過容器名稱停止正在啟動並執行容器$ sudo docker stop my_container#通過容器ID停止正在啟動並執行容器$ sudo docker stop f5a9f05f4214#停止容器進程$ sudo docker kill f5a9f05f4214
如果想快速停止某個容器,使用`docker kill`命令在向容器發送停止訊號。
7.自動重啟容器
$ sudo docker run --restart=always --name my_container -d ubuntu /bin/bash
--restart 標誌會檢查容器的結束代碼,並據此來決定是否要重啟容器,預設是不會重啟。--restart的參數說明always:無論容器的結束代碼是什麼,Docker都會自動重啟該容器。on-failure:只有當容器的結束代碼為非0值的時候才會自動重啟。另外,該參數還接受一個可選的重啟次數參數,`--restart=on-fialure:5`表示當容器結束代碼為非0時,Docker會嘗試自動重啟該容器,最多5次。
8. 刪除容器
#根據容器標識刪除容器$ sudo docker rm my_container $ sudo docker rm f5a9f05f4214
如果容器已經不再使用,可以使用`docker rm`命令來刪除他們,也可以通過給`docker rm`傳遞-f標誌來刪除運行中的Docker容器(Docker 1.6.2+)。
#刪除所有容器$ sudo docker rm `docker ps -a -q`
`docker ps`命令會列出現有的全部正在啟動並執行容器資訊-a 標誌代表列出所有容器,包括啟動並執行和已經停止的-q 標誌表示只需要返回容器的ID而不會返回容器的其他資訊
9. 查看容器資訊
#查看容器資訊$ sudo docker ps#通過docker inspect來獲得更詳細的容器資訊$ sudo docker inspect my_container