Docker 常用容器命令
阿新 • • 發佈:2020-12-25
一、新建並啟動容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
由於啟動命令太多了,我們就選取幾個常用的進行演示
[OPTIONS] 常用值
--name="容器新名字": 為容器指定一個別名
-d: 後臺執行容器,並返回容器ID,也即啟動守護式容器
-i:以互動模式執行容器,通常與 -t 同時使用
-t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用
-P(大寫 P): 隨機埠對映
-p: 指定埠對映,有以下四種格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort (推薦)
containerPort
1、啟動 centos 映象
下面兩條命令是等價的
docker run -it --name=mycentos centos:centos7.9.2009
docker run -it --name=mycentos centos:centos7.9.2009 /bin/bash
2、互動模式 / 後臺模式啟動 tomcat
// 互動模式啟動 tomcat docker run -it --name tomcat01 -p 8088:8080 tomcat:8.5.61-jdk8-corretto // 後臺模式啟動 tomcat docker run -d --name=tomcat02 -p 8089:8080 tomcat:8.5.61-jdk8-corretto
啟動資訊如下:
二、列出正在執行的容器
docker ps [OPTIONS]
-a :列出當前所有正在執行的容器 + 歷史上執行過的
-l :顯示最近建立的容器
-n :顯示最近n個建立的容器
-q :靜默模式,只顯示容器編號
-s :顯示容器大小
--no-trunc : 不截斷輸出
三、進入正在啟動的容器
docker exec -it 容器 ID /bin/bash
四、退出容器客戶端
// 方式一、退出容器客戶端,並且關閉容器
exit
// 方式二、退出容器客戶端,不關閉容器
CTRL + P + Q
五、啟動容器
當然也可以使用下列命令啟動全部的容器
docker start $(docker ps -aq)
六、關閉容器
關閉容器和啟動容器相似,可以關閉一個,也可以關閉多個,也可以批量關閉
當然也可以使用下列命令強制關閉容器
docker kill 容器ID或者容器別名
七、刪除已停止容器
八、其它重要命令
1、檢視容器日誌
docker logs -f -t --tail 顯示行數 容器ID
-t: 加入時間戳
-f: 跟隨最新的日誌列印
-n 500: 顯示 500 行
2、檢視容器內的程序
docker top 容器 ID
3、檢視容器內的細節
docker inspect 容器 ID
以 json 串的形式顯示容器的資訊
4、容器和主機之間檔案互動
從容器中拷貝檔案到主機
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
5、從宿主機拷貝檔案到容器中
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
九、總結
常用命令總結
// 當前 shell 下 attach 連線指定執行映象
attach Attach to a running container
// 通過 Dockerfile 定製映象
build Build an image from a Dockerfile
// 提交當前容器為新的映象
commit Create a new image from a container changes
// 從容器中拷貝指定檔案或者目錄到宿主機中
cp Copy files/folders from the containers filesystem to the host path
// 建立一個新的容器,同 run,但不啟動容器
create Create a new container
// 檢視 docker 容器變化
diff Inspect changes on a container's filesystem
// 從 docker 服務獲取容器實時事件
events Get real time events from the server
// 在已存在的容器上執行命令
exec Run a command in an existing container
// 匯出容器的內容流作為一個 tar 歸檔檔案[對應 import ]
export Stream the contents of a container as a tar archive
// 展示一個映象形成歷史
history Show the history of an image
// 列出系統當前映象
images List images
// 從tar包中的內容建立一個新的檔案系統映像[對應export]
import Create a new filesystem image from the contents of a tarball
// 顯示系統相關資訊
info Display system-wide information
// 檢視容器詳細資訊
inspect Return low-level information on a container
// kill 指定 docker 容器
kill Kill a running container
// 從一個 tar 包中載入一個映象[對應 save]
load Load an image from a tar archive
// 註冊或者登入一個 docker 源伺服器
login Register or Login to the docker registry server
// 從當前 Docker registry 退出
logout Log out from a Docker registry server
// 輸出當前容器日誌資訊
logs Fetch the logs of a container
// 檢視對映埠對應的容器內部源埠
port Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
// 暫停容器
pause Pause all processes within a container
// 列出容器列表
ps List containers
// 從 docker 映象源伺服器拉取指定映象或者庫映象
pull Pull an image or a repository from the docker registry server
// 推送指定映象或者庫映象至docker源伺服器
push Push an image or a repository to the docker registry server
// 重啟執行的容器
restart Restart a running container
// 移除一個或者多個容器
rm Remove one or more containers
// 移除一個或多個映象[無容器使用該映象才可刪除,否則需刪除相關容器才可繼續或 -f 強制刪除]
rmi Remove one or more images
// 建立一個新的容器並執行一個命令
run Run a command in a new container
// 儲存一個映象為一個 tar 包[對應 load]
save Save an image to a tar archive
// 在 docker hub 中搜索映象
search Search for an image on the Docker Hub
// 啟動容器
start Start a stopped containers
// 停止容器
stop Stop a running containers
// 給源中映象打標籤
tag Tag an image into a repository
// 檢視容器中執行的程序資訊
top Lookup the running processes of a container
// 取消暫停容器
unpause Unpause a paused container
// 檢視 docker 版本號
version Show the docker version information
// 擷取容器停止時的退出狀態值
wait Block until a container stops, then print its exit code