Docker容器常用命令
阿新 • • 發佈:2021-08-17
新建並啟動容器
docker run -it --rm -p 8080:8080 tomcat:9.0.20-jre8-alpine
- -d, --detach=false: 後臺執行容器,並返回容器ID
- -i, --interactive=false: 以互動模式執行容器,通常與 -t 同時使用
- -P, --publish-all=false: 隨機埠對映,容器內部埠隨機對映到主機的埠
- -p, --publish=[]: 指定埠對映,格式為:主機(宿主)埠:容器埠
- -t, --tty=false: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用
- --name="nginx-lb": 為容器指定一個名稱
- -h , --hostname="laosiji": 指定容器的hostname
- -e , --env=[]: 設定環境變數,容器中可以使用該環境變數
- --net="bridge": 指定容器的網路連線型別,支援 bridge/host/none/container: 四種類型
- --link=[]: 新增連結到另一個容器;不推薦各位小夥伴使用該引數
- -v, --volume : 繫結一個卷
- --privileged=false: 指定容器是否為特權容器,特權容器擁有所有的capabilities
- --restart=no:指定容器停止後的重啟策略
- no:容器退出時不重啟
- on-failure:容器故障退出(返回值非零)時重啟
- always:容器退出時總是重啟
- --rm=false: 指定容器停止後自動刪除容器,不能以docker run -d啟動的容器
容器日誌
docker run -itd --name tomcat9 -p 8080:8080 tomcat:9.0.20-jre8-alpine
docker logs -f tomcat9
常用引數
- -f : 跟蹤日誌輸出
- --tail :僅列出最新N條容器日誌
刪除容器
docker run -itd --name tomcat9 -p 8080:8080 tomcat:9.0.20-jre8-alpine 需要先停止執行中的容器再刪除,否則無法刪除容器 docker stop tomcat9 按照容器名稱刪除 docker rm tomcat9 按照容器ID刪除 docker rm 8dd95a95e687
常用引數
-
-f :通過 SIGKILL 訊號強制刪除一個執行中的容器。
-
-l :移除容器間的網路連線,而非容器本身。
-
-v :刪除與容器關聯的卷。
刪除所有容器
停止所有執行容器
docker stop $(docker ps -aq)
刪除所有的容器
docker rm $(docker ps -aq)
docker rm $(docker stop $(docker ps -q))
刪除所有的映象
docker rmi $(docker images -q)
列出容器
docker ps
docker run -itd --name tomcat9 -p 8080:8080 tomcat:9.0.20-jre8-alpine
檢視執行中的容器
docker ps tomcat9
檢視所有容器
docker ps -a tomcat9
狀態有7種:
- created(已建立)
- restarting(重啟中)
- running(執行中)
- removing(遷移中)
- paused(暫停)
- exited(停止)
- dead(死亡)
常用引數
- -a :顯示所有的容器,包括未執行的。
- -q :只顯示容器編號。
建立容器
docker create -it --name tomcat9 -p 8080:8080 9.0.20-jre8-alpine
啟動、重啟、終止容器
docker start tomcat9
docker stop tomcat9
docker restart tomcat9
進入容器
有bash命令的linux系統:例如centos
docker run -it --name tomcat9.1 -p 8080:8080 tomcat:9.0.20-jre8-slim
docker exec -it tomcat9.1 /bin/bash
沒有bash命令的linux系統:例如alpine系統
docker run -it --name tomcat9.2 -p 8081:8080 tomcat:9.0.20-jre8-alpine
docker exec -it tomcat9.2 sh
常用引數
- -i :即使沒有附加也保持STDIN 開啟
- -t :分配一個偽終端
檢視容器
docker run -it --name tomcat9 -p 8081:8080 tomcat:9.0.20-jre8-alpine
docker inspect tomcat9
常用引數
- -f :指定返回值的模板檔案。
- -s :顯示總的檔案大小。
- --type :為指定型別返回JSON。
更新容器
可以動態地更新容器配置。可以更新一個或多個容器配置。多個容器名稱或ID之間使用空格分隔。但update命令不是很成熟,有很多配置項不能動態更新。推薦還是rm容器後,再重新run一個新的映象
docker run -it --name tomcat9 -p 8081:8080 tomcat:9.0.20-jre8-alpine
更新容器restart策略
docker update --restart always tomcat9
殺掉容器
docker run -it --name tomcat9 -p 8081:8080 tomcat:9.0.20-jre8-alpine
docker kill tomcat9
docker ps
docker ps -a
docker start tomcat9
常用引數
- -s :向容器傳送一個訊號