工欲善其事必先利其器,本文我們首先來給大家介紹下docker中的常用命令,只用對這些常用命令非常熟悉我們才能更好的來使用docker。
1.幫助命令首先我們來看看docker中的幫助命令
命令說明docker version查看docker的版本信息docker info查看docker詳細的信息docker --helpdocker的幫助命令,可以查看到相關的其他命令docker version
接下來我們看看docker中常用的鏡像命令。
鏡像命令說明docker images列出本地主機上的鏡像docker search 鏡像名稱從 docker hub 上搜索鏡像docker pull 鏡像名稱從docker hub 上下載鏡像docker rmi 鏡像名稱刪除本地鏡像2.1 docker images列出本地主機上的鏡像,我們前面執行了一個hello-world的案例,此時我們的docker中應該是有一個hello-world的鏡像的,如下
在這裡插入圖片描述如果你不指定一個鏡像的版本標籤,例如你只使用 ubuntu,docker 將默認使用 ubuntu:latest 鏡像
在docker images 後面可以添加option參數
option參數
-a
-q
docker hub是docker的在線倉庫(https://hub.docker.com/).我們可以通過docker search在上面來搜索我們需要的鏡像
前面我們介紹了 search命令可以從docker hub上搜索到相關的鏡像,接下來看看我們通過docker pull 來下載鏡像 docker pull 鏡像名稱[:TAG]
在這裡插入圖片描述最後我們來看看刪除鏡像的操作
刪除方式命令刪除單個docker rmi -f 鏡像ID刪除多個docker rmi -f 鏡像1:TAG 鏡像2:TAG刪除全部docker rmi -f $(docker images -qa)在這裡插入圖片描述接下來我們看看容器相關的命令,有鏡像才能創建容器,這是核心前提,所以我們先下載一個CentOS鏡像
在這裡插入圖片描述3.1 新建並啟動容器centos的鏡像文件已經下載好了,接下來我們開始創建第一個容器,命令如下:
docker run [OPTIONS] IMAGE [COMMAND]
OPTIONS說明常用:有些是一個減號,有些是兩個減號
options說明--name"容器新名字": 為容器指定一個名稱-d後臺運行容器,並返回容器ID,也即啟動守護式容器-i以交互模式運行容器,通常與 -t 同時使用-t為容器重新分配一個偽輸入終端,通常與 -i 同時使用-P:隨機埠映射-p指定埠映射,有以下四種格式 ip:hostPort:containerPort啟動交互式容器:
docker run -it centos /bin/bash
上面我們啟動了一個centos容器,並且進入了交互界面,這時我們可以通過
docker ps [OPTIONS]
來查看正在運行的容器,OPTIONS說明
OPTIONS說明-a列出當前所有正在運行的容器+歷史上運行過的-l顯示最近創建的容器。-n顯示最近n個創建的容器。-q靜默模式,只顯示容器編號。--no-trunc不截斷輸出。在這裡插入圖片描述3.3 退出容器我們啟動了一個centos容器,這時我們想要退出容器怎麼辦呢?其實我們有兩種方式來退出。
退出方式說明exit容器停止退出ctrl+p+q容器不停止退出在這裡插入圖片描述在這裡插入圖片描述3.4 啟動容器上面我們停止了一個容器,那麼我們來看看怎麼有別於上面的新建啟動,我們來重啟一個前面的容器。
docker start 容器ID或者容器名稱
重啟容器我們來看看命令
docker restart 容器ID或者容器名稱
相對應的停止容器,會比較緩慢的停止
docker stop 容器ID或者容器名
強制停止容器相比於上面的普通停止容器的方式會更加的直接。
docker kill 容器ID或者容器名
有時候我們需要將不需要的容器給刪除。
docker rm 容器ID
一次性刪除多個容器
docker rm -f $(docker ps -q -a)
# 將 管道符前面的命令結果作為後面命令的參數
docker ps -a -q | xargs docker rm
前面我們創建的容器是交互式的,接下來我們創建守護式的容器
docker run -d 容器名
上面創建的守護式容器,因為沒有前端進程運行,所以啟動後就被幹掉了,這時我們可以啟動容器後運行個循環的腳本。如下
docker run -d centos /bin/sh -c "while true;do echo hello bobo;sleep 2;done"
以json數據的形式來查看容器的數據
docker inspect 容器ID
當我們以Ctrl+p+q的方式退出容器後,我們還需要再次進入到容器中,這時我們可以通過兩種方式進入
進入方式說明exec在容器中打開新的終端,並且可以啟動新的進程attach直接進入容器啟動命令的終端,不會啟動新的進程attach
在這裡插入圖片描述exec
在這裡插入圖片描述有時我們也需要從容器中拷貝內容到宿主機中。
docker cp 容器ID:容器內路徑 目的主機路徑
上面介紹的我們在實際開發中會碰到的常用命令,其他命令可以參考如下,或自行查閱
在這裡插入圖片描述命令說明注釋attachAttach to a running container當前 shell 下 attach 連接指定運行鏡像buildBuild an image from a Dockerfile通過 Dockerfile 定製鏡像commitCreate a new image from a container changes提交當前容器為新的鏡像cpCopy files/folders from the containers filesystem to the host path從容器中拷貝指定文件或者目錄到宿主機中createCreate a new container創建一個新的容器,同 run,但不啟動容器diffInspect changes on a container's filesystem查看 docker 容器變化eventsGet real time events from the server從 docker 服務獲取容器實時事件execRun a command in an existing container在已存在的容器上運行命令exportStream the contents of a container as a tar archive導出容器的內容流作為一個 tar 歸檔文件[對應 import ]historyShow the history of an image展示一個鏡像形成歷史imagesList images列出系統當前鏡像importCreate a new filesystem image from the contents of a tarball從tar包中的內容創建一個新的文件系統映像[對應export]infoDisplay system-wide information顯示系統相關信息inspectReturn low-level information on a container查看容器詳細信息killKill a running containerkill 指定 docker 容器loadLoad an image from a tar archive從一個 tar 包中加載一個鏡像[對應 save]loginRegister or Login to the docker registry server註冊或者登陸一個 docker 源伺服器logoutLog out from a Docker registry server從當前 Docker registry 退出logsFetch the logs of a container輸出當前容器日誌信息portLookup the public-facing port which is NAT-ed to PRIVATE_PORT查看映射埠對應的容器內部源埠pausePause all processes within a container暫停容器psList containers列出容器列表pullPull an image or a repository from the docker registry server從docker鏡像源伺服器拉取指定鏡像或者庫鏡像pushPush an image or a repository to the docker registry server推送指定鏡像或者庫鏡像至docker源伺服器restartRestart a running container重啟運行的容器rmRemove one or more containers移除一個或者多個容器rmiRemove one or more images移除一個或多個鏡像[無容器使用該鏡像才可刪除,否則需刪除相關容器才可繼續或 -f 強制刪除]runRun a command in a new container創建一個新的容器並運行一個命令saveSave an image to a tar archive保存一個鏡像為一個 tar 包[對應 load]searchSearch for an image on the Docker Hub在 docker hub 中搜索鏡像startStart a stopped containers啟動容器stopStop a running containers停止容器tagTag an image into a repository給源中鏡像打標籤topLookup the running processes of a container查看容器中運行的進程信息unpauseUnpause a paused container取消暫停容器versionShow the docker version information查看 docker 版本號waitBlock until a container stops, then print its exit code截取容器停止時的退出狀態值~好了常用命令就介紹到此,歡迎關注點讚O(∩_∩)O哈哈~