Docker入門到實踐 (二) docker常用命令講解


一、前言

  在上一篇文章中已經介紹了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構建容器鏡像,部署項目




                   如果有遇到不懂或者有問題時,可以掃描下方二維碼,歡迎進羣交流與分享,希望能夠跟大家交流學習!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章