文章目錄
一、前言
在上一篇文章中已經介紹了docker相關的概念以及docker的安裝, 下面正式進入的docker常用命令的講解。docker 分爲客戶端和服務端兩部分,docker 爲客戶端調用的命令, 本文着重介紹客戶端的用法。
docker的主要用法爲: docker [OPTIONS] COMMAND
,即 docker [docker命令選項] 命令,中括號[] 表示該命令選項 可選可不選
二、Docker常用命令講解
1、docker相關命令
1.1、docker啓動與停止
//啓動docker
systemctl start docker
//停止docker
systemctl stop docker
//重啓docker
systemctl restart docker
//設置docker開機自啓
systemctl enable docker
1.2、查看docker狀態
systemctl status docker
1.3、查看docker版本信息
docker version
1.4、查看docker概要信息
docker info
1.5、查看docker幫助文檔
docker --help
2、鏡像相關命令
2.1、查看本地主機上的鏡像
docker images
REPOSITORY
:鏡像的倉庫源,即鏡像名稱
TAG
:鏡像版本標籤,即版本號
-
同一鏡像倉庫源可以有多個 TAG,代表這個鏡像倉庫源的不同個版本,我們使用 REPOSITORY:TAG 來定義不同的鏡像。
-
如果不指定一個鏡像的版本標籤,docker 將默認使用最新版,即latest版本,例如你使用 docker run tomcat,docker 將默認使用 tomcat:latest 鏡像,即docker run tomcat:latest。
IMAGE ID
:鏡像ID
CREATED
:鏡像的創建日期(不是獲取該鏡像的日期)
SIZE
:鏡像大小
2.2、查看docker images鏡像命令的幫助文檔
docker images --help
docker images相關命令的主要用法爲: docker images [OPTIONS] [REPOSITORY[:TAG]]
,即 docker images [docker鏡像命令選項] [鏡像名稱[:版本號]],中括號[]
表示該命令選項 可選可不選
常用的docker images鏡像命令選項有:
-a
:列出本地所有的鏡像 (包含中間鏡像層)
-q
:只顯示鏡像ID
--digests
:顯示鏡像的摘要信息
--no-trunc
:顯示完整的鏡像信息
2.3、查找docker鏡像
docker search 鏡像名稱
NAME
:倉庫名稱
DESCRIPTION
:鏡像描述
STARS
:點贊數,反應一個鏡像的受歡迎程度
OFFICIAL
:是否爲官方鏡像
AUTOMATED
:自動構建,表示該鏡像由Docker Hub自動構建流程創建的
2.4、查看docker search鏡像命令的幫助文檔
docker search --help
docker search相關命令的主要用法爲: docker search [OPTIONS] TERM
,即 docker search [docker鏡像命令選項] TERM,中括號[]
表示該命令選項 可選可不選
常用的docker search鏡像命令選項有:
-f stars=數字
:列出點贊數不小於指定值的鏡像
--limit 數字
:列出指定數目的鏡像,默認數目爲25
2.5、拉取docker鏡像
docker pull 鏡像名稱[:版本號]
2.5、刪除docker鏡像
//刪除單個鏡像
docker rmi 鏡像ID/鏡像名稱[:版本號]
//-f:表示強制刪除,強制刪除單個鏡像
docker rmi -f 鏡像ID/鏡像名稱[:版本號]
//刪除多個鏡像
docker rmi [-f] 鏡像1ID/鏡像1名稱[:版本號] 鏡像2ID/鏡像2名稱[:版本號]
//刪除全部鏡像
docker rmi [-f] $(docker images -qa)
2.6、獲取docker鏡像元信息
docker inspect 鏡像ID/鏡像名稱[:版本號]
3、容器相關命令
3.1、查看docker run容器命令的幫助文檔
docker run --help
docker run相關命令的主要用法爲: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
,即 docker run [docker容器命令選項] 鏡像 [命令] [參數],中括號[]
表示該命令選項 可選可不選
常用的docker run容器命令選項有:
-i
:表示以交互模式運行容器,通常與-t
結合使用
-t
:爲容器重新分配一個僞輸入終端,通常與-i
結合使用
-d
:後臺運行容器,並返回容器ID,即啓動守護式容器 (這樣創建的容器不會分配一個僞輸入終端,如果是以-it
兩個參數啓動,啓動後則會分配一個僞輸入終端)
-p
:指定端口映射,格式爲:-p 主機(宿主機)端口:容器映射端口
,可以使用多個-p
做多個端口映射
-v
:指定掛載主機目錄/文件 到容器目錄/文件 上,即掛載容器數據卷,格式爲:-v 主機(宿主機)目錄/文件的絕對路徑:容器內目錄/文件的絕對路徑[:讀取權限]
,可以使用多個-v
做多個目錄或文件映射,默認爲rw讀寫模式
,ro表示只讀
。
rw讀寫模式
:表示宿主機能對數據捲進行讀取和更改,容器也能對其進行讀取和更改。
ro表示只讀
:表示宿主機能對數據捲進行讀取和更改,容器只能對其進行讀取不能更改。
--name
:爲創建的容器指定一個名稱,格式爲:--name=容器名稱
3.2、創建並運行容器
//以交互模式運行容器
docker run -it -v 宿主機目錄/文件的絕對路徑:容器內目錄/文件的絕對路徑[:rw/ro] -p 主機端口:容器端口 --name=容器名稱 鏡像ID/鏡像名稱[:版本號]
//以後臺方式運行容器 (推薦)
docker run -d -v 宿主機目錄/文件的絕對路徑:容器內目錄/文件的絕對路徑[:rw/ro] -p 主機端口:容器端口 --name=容器名稱 鏡像ID/鏡像名稱[:版本號]
注意:這裏啓動容器時,沒有掛載容器數據卷,一般建議掛載容器數據卷,實現數據持久化操作
在瀏覽器中,輸入你的Linux系統的 ip地址:主機(宿主機)端口,即可訪問
3.3、查看docker ps容器命令的幫助文檔
docker ps --help
docker ps相關命令的主要用法爲: docker ps [OPTIONS]
,即 docker ps [docker容器命令選項],中括號[]
表示該命令選項 可選可不選
常用的docker ps容器命令選項有:
-a
:列出當前所有正在運行
的容器 和 之前運行過但已停止
的容器
-l
:顯示最近創建的容器
-q
:只顯示容器編號
-n 數字
:顯示最近創建的 n個容器
-f status=exited
:查看已停止的容器
3.4、列出當前所有正在運行的容器
docker ps
CONTAINER ID
:容器ID
IMAGE
:鏡像
COMMAND
:命令
CREATED
:創建時間
STATUS
:啓動時長
PORTS
:端口映射
NAMES
:容器名稱
3.5、退出容器
//退出並停止容器
exit
//退出但容器不停止
ctrl + p + q
3.6、容器啓動與停止
//啓動容器
docker start 容器ID/容器名稱
//重啓容器
docker restart 容器ID/容器名稱
//停止容器
docker stop 容器ID/容器名稱
//強制停止容器
docker kill 容器ID/容器名稱
3.7、刪除容器
//刪除已停止的容器
docker rm 容器ID/容器名稱
//-f:表示強制刪除,刪除正在運行的容器
docker rm -f 容器ID/容器名稱
//刪除全部的容器
docker rm -f $(docker ps -qa)
3.8、查看容器內部運行的進程
docker top 容器ID/容器名稱
3.9、查看容器內部元信息
docker inspect 容器ID/容器名稱
3.10、文件拷貝
//從容器內拷貝文件到宿主機
docker cp 容器ID/容器名稱:容器內目錄/文件的絕對路徑 宿主機目錄/文件的絕對路徑
//從宿主機中拷貝文件到容器內
docker cp 宿主機目錄/文件的絕對路徑 容器ID/容器名稱:容器內目錄/文件的絕對路徑
3.11、進入正在運行的容器內並以命令行交互
前面說過,使用快捷鍵ctrl + p + q 可以退出但容器不停止,那麼該如何重新進入容器呢?請使用以下命令
//以exec方式進入到容器
docker exec -it 容器ID/容器名稱 /bin/bash
//以attach方式進入到容器
docker attach 容器ID/容器名稱
//如果不想進入容器,直接獲取相關指令的運行結果,可在後面填寫相關操作指令
docker exec -it 容器ID/容器名稱 相關命令
exec 與 attach的區別:
exec
:是在容器中打開新的終端,並且可以啓動新的進程 (推薦)attach
:是直接進入容器啓動命令的終端,不會啓動新的進程
3.12、查看docker logs容器命令的幫助文檔
docker logs --help
docker logs相關命令的主要用法爲: docker logs [OPTIONS]
CONTAINER,即 docker ps [docker容器命令選項] 容器,中括號[]
表示該命令選項 可選可不選
常用的docker logs容器命令選項有:
-f
:顯示最新的打印日誌
-t
:顯示時間戳
--tail 數字
:顯示最後多少條日誌
3.13、查看容器日誌
docker logs -f -t 容器ID/容器名稱
Docker入門到實踐系列文章列表:
Docker入門到實踐 (一) docker簡介與安裝
Docker入門到實踐 (二) docker常用命令講解
Docker入門到實踐 (三) Dockerfile解析與鏡像製作
Docker入門到實踐 (四) docker容器數據卷與數據卷容器
Docker入門到實踐 (五) docker數據的備份、恢復與遷移
Docker入門到實踐 (六) docker常用軟件安裝
Docker入門到實踐 (七) 本地鏡像推送到阿里雲 和 下載鏡像到本地
Docker入門到實踐 (八) Docker私有倉庫的搭建與配置
Docker入門到實踐 (九) IDEA集成Docker構建容器鏡像,部署項目
如果有遇到不懂或者有問題時,可以掃描下方二維碼,歡迎進羣交流與分享,希望能夠跟大家交流學習!