Docker系列(二)之Docker常用命令
技術標籤:Docker
一、幫助命令
docker version #顯示docker
的版本資訊。
docker info #顯示docker的系統資訊,包括映象和容器的數量
docker 命令 --help #幫助命令
#幫助文件的地址:https://docs.docker.com/engine/reference/commandline/build/
二、映象命令
docker images #檢視所有本地主機上的映象 可以使用docker image ls代替
docker search 搜尋映象
docker pull 下載映象
docker rmi 刪除映象docker images #檢視所有本地的主機上的映象
docker images -aq #顯示所有映象的id
docker pull
# 下載映象 docker pull 映象名[:tag] ➜ ~ docker pull tomcat:8 8: Pulling from library/tomcat #如果不寫tag,預設就是latest 90fe46dd8199: Already exists #分層下載: docker image 的核心 聯合檔案系統 35a4f1977689: Already exists bbc37f14aded: Already exists 74e27dc593d4: Already exists 93a01fbfad7f: Already exists 1478df405869: Pull complete 64f0dd11682b: Pull complete 68ff4e050d11: Pull complete f576086003cf: Pull complete 3b72593ce10e: Pull complete Digest: sha256:0c6234e7ec9d10ab32c06423ab829b32e3183ba5bf2620ee66de866df640a027 # 簽名 防偽 Status: Downloaded newer image for tomcat:8 docker.io/library/tomcat:8 #真實地址 #等價於 docker pull tomcat:8 docker pull docker.io/library/tomcat:8
docker rmi 刪除映象
~ docker rmi -f 映象id #刪除指定的映象
➜ ~ docker rmi -f 映象id 映象id 映象id 映象id #刪除指定的映象
➜ ~ docker rmi -f $(docker images -aq) #刪除全部的映象
三、容器命令
docker run 映象id #新建容器並啟動
docker ps #列出所有執行的容器docker container list
docker rm容器id #刪除指定容器
docker start 容器id #啟動容器
docker restart容器id #重啟容器
docker stop 容器id #停止當前正在執行的容器
docker kill 容器id #強制停止當前容器
新建容器並啟動
docker run [可選引數] image | docker container run [可選引數] image
#參書說明
--name="Name" 容器名字 tomcat01 tomcat02 用來區分容器
-d 後臺方式執行
-it 使用互動方式執行,進入容器檢視內容
-p 指定容器的埠 -p 8080(宿主機):8080(容器)
-p ip:主機埠:容器埠
-p 主機埠:容器埠(常用)
-p 容器埠容器埠
-P(大寫) 隨機指定埠
列出所有執行的容器
#docker ps命令 #列出當前正在執行的容器
-a, --all Show all containers (default shows just running)
-n, --last int Show n last created containers (includes all states) (default -1)
-q, --quiet Only display numeric IDsdocker ps -aq #列出所有正在執行的容器的id
退出容器
exit #容器直接退出
ctrl +P +Q #容器不停止退出
刪除容器
docker rm 容器id #刪除指定的容器,不能刪除正在執行的容器,如果要強制刪除 rm -rf docker rm -f $(docker ps -aq) #刪除所有的容器
docker ps -a -q|xargs docker rm #刪除所有的容器
啟動和停止容器的操作
docker start 容器id #啟動容器
docker restart 容器id #重啟容器
docker stop 容器id #停止當前正在執行的容器
docker kill 容器id #強制停止當前容器
四、容器其他操作
後臺啟動命令
# 命令 docker run -d 映象名
➜ ~ docker run -d centos a8f922c255859622ac45ce3a535b7a0e8253329be4756ed6e32265d2dd2fac6c
➜ ~ docker ps #未檢視到正在執行的容器# 問題docker ps. 發現centos 停止了
# 常見的坑,docker容器使用後臺執行,就必須要有要一個前臺程序,docker發現沒有應用,就會自動停止
# nginx,容器啟動後,發現自己沒有提供服務,就會立刻停止,就是沒有程式了
檢視日誌
#顯示日誌
-tf #顯示日誌資訊(一直更新)
--tail number #需要顯示日誌條數
docker logs -t --tail n 容器id #檢視n行日誌
docker logs -ft 容器id #跟著日誌
檢視容器中程序資訊 ps
docker top 容器id
檢視映象的元資料
# 命令
docker inspect 容器id
#測試
➜ ~ docker inspect 55321bcae33d [
{
"Id":
"55321bcae33d15da8280bcac1d2bc1141d213bcc8f8e792edfd832ff61ae5066", "Created": "2020-05-15T05:22:05.515909071Z",
"Path": "/bin/sh",
...
}]➜ ~
進入當前正在執行的容器
# 我們通常容器都是使用後臺方式執行的,需要進入容器,修改一些配置
# 命令 方式一
docker exec -it 容器id bashshell# 方式二
docker attach 容器id
#測試
docker attach 55321bcae33d
正在執行當前的程式碼...區別
#docker exec #進入當前容器後開啟一個新的終端,可以在裡面操作。(常用)
#docker attach # 進入容器正在執行的終端
從容器內拷貝到主機上
docker cp 容器id:容器內路徑 主機目的路徑