Docker從入門到精通(四)——常用命令

話不多說,本篇文章給大家介紹 docker 的常用命令,基本上會覆蓋我們日常使用的命令。

1、萬能幫助命令

docker 命令 –help

假設你想用某個命令,但是又不知道該命令的一些參數怎麼用,這時候上面的萬能幫助命令就派上用場了。

更有甚者,你連命令也不記得了,那直接輸入:

docker –help

找到你想要的那個命令,然後通過上面命令查看用法。

比如不知道如何運行容器?

image-20211028222524109
image-20211028222602159

找到英文 Run a command in a new container,這正是我們需要的。

但是我又不知道 run 命令怎麼用,接著如下:

image-20211028222051460

要是命令行看的太累,沒關係,貼心的我給你們找好了官方參考:

//docs.docker.com/engine/reference/commandline/docker/

image-20211028223241289

什麼?英文看不懂?百度翻譯走起來吧,這個確實沒啥辦法了,但實際上你們看完我這邊文章,基本上常用的命令都會詳細介紹的。

2、常用命令

2.1 查看版本資訊

docker version

在安裝 docker 時我們介紹過這個命令,這裡就不截圖了。

2.2 查看系統資訊

docker info

包括查看當前系統 docker 鏡像和容器的數量。

image-20211028223009358

3、鏡像常用命令

3.1 查看鏡像

docker images

①、REPOSITORY: 鏡像倉庫源

②、TAG:鏡像版本,latest 表示最新版本

③、IMAGE ID:鏡像ID(特別重要)

④、CREATED:創建時間

⑤、SIZE:鏡像大小。

3.2 鏡像搜索

docker search <鏡像名>

image-20211028232354832

①、NAME:鏡像名稱

②、DESCRIPTION:鏡像描述

③、STARS:收藏數

④、OFFICIAL:是否官方

⑤、AUTOMATED:是否自動構建

這裡的搜索,也有官方網址:

//hub.docker.com/search?q=tomcat&type=image

image-20211028233309139

3.3 下載鏡像

docker pull 鏡像名<:tags>

比如下載最新版 Tomcat 鏡像: docker pull tomcat

比如下載Tomcat 8.0 鏡像:docker pull tomcat:8.0

image-20211028234939804

3.4 刪除鏡像

docker rmi repository<:tag> # 根據名稱和版本刪除,如果不指定tag,默認是lastest

docker rmi IMAGE_ID # 根據鏡像id刪除

docker rmi IMAGE_ID1 IMAGE_ID2 … # 批量刪除

上面的 repository 和 tag 便是前面說的 【docker images】命令的提示。

比如刪掉 tomcat 8.0 版本的鏡像:

image-20211028235338485

4、容器常用命令

4.1 新建容器並啟動

docker run <參數> 鏡像id|鏡像名稱

參數說明:

①、–name: 為啟動容器指定一個名字,注意有兩個 –。

②、-d:表示以後台方式運行,並返回容器ID。

③、-i:以交互模式運行容器。

④、-t:為容器重新分配一個偽輸入終端。

⑤、-p: 主機埠:容器埠 | 容器埠 | ip:主機埠:容器埠。

⑥、-P:隨機埠映射,容器內部埠隨機映射到主機埠。

⑦、–link=[]:添加鏈接到另一個容器。

比如以後台方式啟動一個Tomcat容器:

4.2 進入容器

①、使用run方式在創建時進入

docker run -it [鏡像id|鏡像名] /bin/bash

②、使用 attach 命令(進入已啟動的容器)

直接進入 容器啟動命令的終端,不會啟動新進程,多個attach連接共享容器螢幕,參數:–sig-proxy=false 確保CTRL-D或CTRL-C不會關閉容器

docker attach –sig-proxy=false 容器名稱|容器ID

③、使用 exec 命令(進入已啟動的容器)

進入容器後開啟一個新的終端,可以在裡面進行操作。

docker exec -it 容器名稱|容器ID /bin/bash

4.3 退出容器

①、Ctrl+P+Q : 僅退出容器,不關閉容器。

②、exit: 關閉容器並退出。

4.4 查看所有運行的容器

1、查看正在運行的容器

docker ps

2、查看正在運行的容器的ID

docker ps -q

3、查看正在運行+歷史運行過的容器

docker ps -a

4、顯示運行容器總文件大小

docker ps -s

4.5 停止與刪除容器

①、停止一個運行中的容器

docker stop 容器名|容器id

②、殺掉一個運行中的容器

docker kill 容器名|容器id

③、刪除一個已停止的容器

docker rm 容器名|容器id

④、刪除一個運行中的容器

docker rm -f 容器名|容器id

4.6 查看容器日誌

docker logs <參數>容器名|容器id

參數:

①、-f 跟蹤日誌輸出

②、-t:顯示時間戳

③、–tail N:僅列出最後N條日誌

image-20211029211324737

4.7 查看容器進程

docker top 容器ID|容器名

image-20211029211955728

4.8 查看容器資訊

docker inspect 容器ID|容器名

image-20211029212154673

4.9 主機和容器之間數據複製

①、將容器中的文件copy至本地路徑

docker cp 容器名|容器ID:/[container_path] [local_path]

②、將主機文件copy至容器

docker cp [local_path] 容器名|容器ID:/[container_path]

③、將主機文件copy至容器,目錄重命名為[container_path](注意與非重命名copy的區別)

docker cp [local_path] rabbitmq:/[container_path]

image-20211029213655597

5、總結

一圖勝千言:

image-20211030201028985