Docker 入門之容器
Docker容器常用命令介紹和使用
檢視容器
使用docker ps
命令檢視執行著的容器
[[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 229929eb660f renguangli/nginx:1.0 "nginx -g 'daemon off" 17 hours ago Up 3 seconds 0.0.0.0:80->80/tcp nginx
使用docker ps -a
命令檢視所有的容器
[[email protected] ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 229929eb660f renguangli/nginx:1.0 "nginx -g 'daemon off" 17 hours ago Up 3 seconds 0.0.0.0:80->80/tcp nginx 3ceb621f4aa9 jenkins "/bin/tini -- /usr/lo" About an hour ago Exited (137) 48 seconds ago elated_davinci
使用docker ps -q
命令檢視執行著的容器Id
[[email protected] ~]# docker ps -a
CONTAINER ID
229929eb660f
3ceb621f4aa9
建立容器
使用docker create image:tag name
命令建立一個容器並給容器一個name,例如
[[email protected] ~]# docker create nginx:latest nginx fd47cedfcce5cd2879ef65b342b1cd4130cbcc081cec532ff7af1744ad589116
建立成功返回容器ID
如果不加name的話隨機分配一個名字
啟動容器
使用docker start container_name/container_id
來啟動一個容器,以上述nginx容器為例
[[email protected] ~]# docker start nginx
# 或者
[[email protected] ~]# docker start fd47cedfcce5cd2879ef65b342b1cd4130cbcc081cec532ff7af1744ad589116
新建並啟動容器
建立容器後可以用docker start
命令啟動容器,也可以用docker run
命令直接新建並啟動容器,docker run
相當於先執行docker create
命令在執行docker start
命令。例如,輸出一個"hello docker"
[[email protected] ~]# docker run ubuntu echo "hello docker"
hello docker
這跟在本次執行echo "hello docker"
幾乎沒有任何區別,但是在執行docker run
命令時經歷了複雜的操作:
- 檢查本地是否存在指定的映象,,不存在就從共有倉庫下載
- 利用映象建立並啟動一個容器
- 分配一個檔案系統給容器,並在只讀的映象層外面掛載一個可讀寫層
- 從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中
- 從網橋的地址池中配置一個IP地址給容器
- 執行使用者指定的應用程式
- 執行完畢後容器自動終止
docker run -d
命令會讓容器在後臺執行
docker logs
命令可以檢視容器日誌
docker logs -f
命令可以像tail -f
命令一樣檢視容器日誌
終止容器
使用docker stop container_name/container_id
命令停止一個容器
[[email protected] html]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16555d4ebdf0 nginx:1.10.0 "nginx -g 'daemon off" 47 minutes ago Up 8 seconds 0.0.0.0:80->80/tcp jolly_goodall
[[email protected] html]# docker stop 16555d4ebdf0 或者 docker stop jolly_goodall
docker stop命令首先想容器傳送SIGKILL的訊號,等待一段時間後(預設10秒)在傳送SIGKILL訊號來終止容器
docker kill 命令會直接傳送SIGKILL訊號來終止容器
終止的容器可以使用docer start
來啟動一個容器
執行著的容器可以使用docker restart
來重啟容器
刪除容器
刪除某個容器
docker rm container_name/container_id
所有刪除容器
docker rm $(docker ps -a -q)
參考資料
Docker技術入門與實戰
Docker中文社群: http://www.docker.org.cn/