最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從入門到實戰(zhàn)詳解Docker中的常用命令

 更新時間:2026年06月04日 08:52:39   作者:程序猿樂鍋  
本文是一份Docker入門命令手冊,重點為大家介紹了鏡像和容器管理的常用操作,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

前言

剛開始學(xué) Docker 的時候,最容易遇到的一個問題就是:命令看著很多,但真正上手時總是記不住,或者一不小心就把鏡像和容器的命令混了。

我這兩天在整理自己練習(xí) Docker 命令時用到的內(nèi)容,順手把它改成一篇適合分享的學(xué)習(xí)筆記。本文不講太多抽象概念,重點放在平時最常用、最容易碰到的 Docker 命令上,同時補充一些實戰(zhàn)里很常見的報錯和使用場景。

如果你也是剛接觸 Docker,這篇文章可以直接當(dāng)成一份入門命令手冊來看。

一、先搞清楚兩個核心概念

在記命令之前,先把兩個概念分清楚:

  • 鏡像(Image):可以理解成模板
  • 容器(Container):可以理解成鏡像運行起來后的實例

說得直白一點:

  • docker images 是看“模板”
  • docker run 是用“模板”創(chuàng)建并啟動“實例”
  • docker ps 是看“實例”現(xiàn)在有沒有在運行

只要這層關(guān)系不亂,后面的命令就會順很多。

二、Docker 使用前的準(zhǔn)備命令

啟動 Docker 服務(wù)

systemctl start docker

這個命令不是 Docker 子命令,而是 Linux 系統(tǒng)命令。它的作用是啟動 Docker 服務(wù)。

如果 Docker 服務(wù)沒有啟動,你在執(zhí)行 docker images、docker ps 這類命令時,往往會看到下面這個錯誤:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock

這個報錯的重點不是命令寫錯了,而是 Docker 后臺服務(wù)沒起來。所以遇到這個錯誤,優(yōu)先檢查 Docker 服務(wù)狀態(tài)。

三、鏡像相關(guān)的常用命令

鏡像相關(guān)命令建議放在前面記,因為很多操作都要從鏡像開始。

1. 查看本地鏡像

docker images

作用:查看當(dāng)前機器上已經(jīng)下載好的鏡像。

常見輸出字段含義如下:

  • REPOSITORY:鏡像名
  • TAG:版本標(biāo)簽
  • IMAGE ID:鏡像 ID
  • CREATED:創(chuàng)建時間
  • SIZE:鏡像大小

比如下面這些都屬于鏡像名稱:

nginx:1.20.2
mysql:8
redis:7

這里要注意,鏡像名和版本之間用的是 :,不是 -。

2. 拉取鏡像

docker pull redis:7

作用:從 Docker 倉庫把鏡像下載到本地。

如果本地沒有某個鏡像,直接 docker run 時 Docker 也可能自動去拉取,但在學(xué)習(xí)階段,我更建議先手動執(zhí)行 docker pull,這樣思路更清晰。

3. 刪除本地鏡像

docker rmi nginx:1.20.2

作用:刪除本地鏡像。

這個命令一般在以下場景比較常見:

  • 鏡像拉錯版本了
  • 本地磁盤空間緊張
  • 需要清理不再使用的鏡像

4. 導(dǎo)出鏡像

docker save -o nginx-1.20.2.tar nginx:1.20.2

作用:把鏡像導(dǎo)出成一個 tar 文件,便于備份或者拷貝到其他機器。

這個命令里有兩個容易出錯的點:

  • 子命令必須是 save
  • 鏡像名必須寫成 鏡像名:標(biāo)簽

也就是說,下面這種寫法是錯的:

docker save -o nginx-1.20.2.tar nginx-1.20.2

錯因就在于把 nginx:1.20.2 寫成了 nginx-1.20.2

5. 導(dǎo)入鏡像

docker load -i nginx-1.20.2.tar

作用:把之前導(dǎo)出的鏡像文件重新導(dǎo)入 Docker。

這個命令通常和 docker save 配套使用,尤其適合離線環(huán)境或者需要跨機器傳鏡像的場景。

四、容器相關(guān)的常用命令

相比鏡像,容器命令在日常使用中更高頻,因為我們平時真正操作的大多是“運行起來的容器”。

1. 創(chuàng)建并運行容器

docker run nginx:1.20.2

作用:基于指定鏡像創(chuàng)建并啟動一個容器。

如果你只寫:

docker run

那肯定會報錯,因為 run 后面至少要跟一個鏡像名。

2. 后臺運行容器并指定名稱和端口

docker run -d --name nginx -p 80:80 nginx:1.20.2

這是非常常用的一條命令,建議重點記住。

參數(shù)說明:

  • -d:后臺運行
  • --name nginx:給容器起一個名字
  • -p 80:80:端口映射

其中端口映射格式是:

-p 宿主機端口:容器端口

也就是說,上面的 -p 80:80 表示訪問宿主機的 80 端口,本質(zhì)上是在訪問容器里的 80 端口。

3. 查看正在運行的容器

docker ps

作用:查看當(dāng)前正在運行的容器。

這個命令適合用來快速判斷:

  • 容器有沒有啟動成功
  • 當(dāng)前有哪些容器正在跑
  • 容器暴露了哪些端口

4. 查看所有容器

docker ps -a

作用:查看所有容器,包括正在運行的和已經(jīng)停止的。

這個命令特別實用。因為很多時候不是容器“沒了”,而是容器“停了”。如果你只看 docker ps,可能會誤以為容器不存在。

5. 停止容器

docker stop nginx

作用:停止一個正在運行的容器。

要注意,停止容器不代表刪除容器,它只是從“運行中”變成了“已停止”。

6. 啟動已停止的容器

docker start nginx

作用:重新啟動一個已經(jīng)存在但當(dāng)前處于停止?fàn)顟B(tài)的容器。

這里很多初學(xué)者容易把 runstart 混掉,實際上它們的區(qū)別很清楚:

  • docker run:創(chuàng)建并啟動容器
  • docker start:啟動已有容器

7. 重啟容器

docker restart nginx

作用:重啟容器。

這個命令在修改配置、重載服務(wù)或者排查臨時問題時很常見,屬于日常維護中的高頻命令。

8. 查看容器日志

docker logs nginx

作用:查看容器運行日志。

如果想持續(xù)跟蹤日志,可以這樣寫:

docker logs -f nginx

很多問題,比如 Nginx 啟動失敗、Spring Boot 容器報錯、端口沖突等,第一時間都應(yīng)該先去看日志。

9. 進入容器內(nèi)部

docker exec -it nginx bash

作用:進入正在運行的容器,并打開一個交互式終端。

參數(shù)說明:

  • exec:在容器內(nèi)執(zhí)行命令
  • -i:保持標(biāo)準(zhǔn)輸入開啟
  • -t:分配終端
  • bash:進入 bash 環(huán)境

不過并不是所有鏡像里都有 bash。如果沒有,可以改成:

docker exec -it nginx sh

這個命令在排查容器內(nèi)文件、查看配置、手動測試服務(wù)時特別有用。

10. 查看容器詳細信息

docker inspect nginx

作用:查看容器的詳細配置。

常見能看到的信息包括:

  • 容器 IP
  • 端口映射
  • 掛載目錄
  • 啟動參數(shù)
  • 網(wǎng)絡(luò)信息

如果你在查“容器到底映射到哪個端口了”“文件到底掛載到哪里了”,inspect 非常有幫助。

11. 宿主機和容器之間復(fù)制文件

docker cp nginx:/etc/nginx/nginx.conf .

作用:把容器里的文件復(fù)制到宿主機。

反過來也可以把宿主機文件復(fù)制進容器,這在調(diào)試配置文件時很常見。

12. 查看資源占用

docker stats

作用:實時查看容器的 CPU、內(nèi)存、網(wǎng)絡(luò)等資源占用情況。

如果你發(fā)現(xiàn)某個容器特別卡,或者懷疑內(nèi)存吃得太多,可以先用這個命令看一眼。

13. 刪除容器

docker rm -f nginx

作用:強制刪除容器。

參數(shù)說明:

  • rm:刪除容器
  • -f:如果容器還在運行,就先停掉再刪除

這個命令適合做快速清理,但在正式環(huán)境里還是建議先確認(rèn)再刪,避免誤操作。

五、用一條主線把命令串起來

如果只是一條一條背命令,其實很容易忘。更好的方式是按操作流程去記:

1. 先確認(rèn) Docker 服務(wù)正常

systemctl start docker

2. 查看本地有沒有需要的鏡像

docker images

3. 如果沒有,就先拉取鏡像

docker pull nginx:1.20.2

4. 基于鏡像啟動容器

docker run -d --name nginx -p 80:80 nginx:1.20.2

5. 查看容器是否正常運行

docker ps
docker ps -a

6. 需要排錯時看日志、進容器

docker logs -f nginx
docker exec -it nginx bash

7. 需要暫停、恢復(fù)或重啟時執(zhí)行控制命令

docker stop nginx
docker start nginx
docker restart nginx

8. 最后做清理或者備份

docker rm -f nginx
docker save -o nginx.tar nginx:1.20.2
docker load -i nginx.tar

這樣記憶就不是一堆零散命令,而是一條完整的 Docker 使用流程。

六、初學(xué)者最容易踩的幾個坑

1. Docker 服務(wù)沒啟動

錯誤信息:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock

解決方式:

systemctl start docker

2. 命令拼寫錯誤

錯誤寫法:

docker iamges

正確寫法:

docker images

這類錯誤看起來很小,但在剛開始練命令的時候特別常見。

3. 把鏡像名和版本標(biāo)簽寫錯

錯誤寫法:

docker save -o nginx-1.20.2.tar nginx-1.20.2

正確寫法:

docker save -o nginx-1.20.2.tar nginx:1.20.2

記住一點就行:鏡像版本前面用的是冒號 :。

4. 少寫了子命令

錯誤寫法:

docker -o nginx-1.20.2.tar nginx:1.20.2

正確寫法:

docker save -o nginx-1.20.2.tar nginx:1.20.2

因為 -odocker save 的參數(shù),不是 docker 根命令的參數(shù)。

七、Docker 常用命令速記版

如果你是為了復(fù)習(xí)或者考試前快速過一遍,可以直接記下面這組:

systemctl start docker
docker images
docker pull nginx:1.20.2
docker run -d --name nginx -p 80:80 nginx:1.20.2
docker ps
docker ps -a
docker stop nginx
docker start nginx
docker restart nginx
docker logs -f nginx
docker exec -it nginx bash
docker inspect nginx
docker cp nginx:/etc/nginx/nginx.conf .
docker stats
docker rm -f nginx
docker rmi nginx:1.20.2
docker save -o nginx.tar nginx:1.20.2
docker load -i nginx.tar

八、結(jié)語

Docker 命令剛開始看起來很多,但真正常用的其實就集中在幾類:

  • 鏡像管理
  • 容器創(chuàng)建與運行
  • 容器狀態(tài)查看
  • 日志與排錯
  • 清理與備份

我的建議是,不要只死記命令本身,而是按照“鏡像 -> 容器 -> 查看狀態(tài) -> 進入排查 -> 清理備份”這條主線去記。這樣學(xué)起來會更順,也更接近真實開發(fā)和部署時的使用方式。

如果你剛開始學(xué) Docker,可以先把本文里的 runps、logs、exec、rm 這幾條命令練熟,后面再補 save、load、inspect、stats 這些命令,效果會更好。

以上就是從入門到實戰(zhàn)詳解Docker中的常用命令的詳細內(nèi)容,更多關(guān)于Docker常用命令的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker Push常見報錯及解決方案總結(jié)

    Docker Push常見報錯及解決方案總結(jié)

    這篇文章主要介紹了Docker Push常見報錯及解決方案,包括HTTP響應(yīng)、insecure-registries配置、Registry使用HTTPS以及connection refused問題的詳細分析和解決方法,需要的朋友可以參考下
    2026-03-03
  • Docker安裝部署RabbitMQ的實現(xiàn)步驟

    Docker安裝部署RabbitMQ的實現(xiàn)步驟

    RabbitMQ是一款開源的消息隊列中間件,能夠在分布式系統(tǒng)中實現(xiàn)可靠的消息傳遞,本文主要介紹了Docker安裝部署RabbitMQ的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 解決Docker刪除鏡像報錯:Error response from daemon:conflict:unable to delete xxx (cannot be forced)

    解決Docker刪除鏡像報錯:Error response from daemon:con

    刪除Docker鏡像時遇到?jīng)_突,因為鏡像正在被一個運行中的容器使用,解決方法是先停止并刪除該容器,然后再嘗試刪除鏡像,此外,還可以選擇強制刪除鏡像,但這可能會導(dǎo)致數(shù)據(jù)丟失
    2024-11-11
  • docker如何運行一個python腳本

    docker如何運行一個python腳本

    這篇文章主要介紹了docker如何運行一個python腳本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker學(xué)習(xí)筆記之Docker部署Java web系統(tǒng)

    Docker學(xué)習(xí)筆記之Docker部署Java web系統(tǒng)

    這篇文章主要介紹了Docker學(xué)習(xí)筆記之Docker部署Java web系統(tǒng),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker跨主機容器通信overlay實現(xiàn)過程詳解

    Docker跨主機容器通信overlay實現(xiàn)過程詳解

    這篇文章主要介紹了Docker跨主機容器通信overlay實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Docker動態(tài)添加端口不需要重新建立鏡像的方法

    Docker動態(tài)添加端口不需要重新建立鏡像的方法

    Docker容器在運行期間有時可能會需要修改或者添加暴露的端口,但是有時候運行的容器又不想再另外建立一個新的鏡像。接下來通過本文給大家分享Docker動態(tài)添加端口不需要重新建立鏡像的方法,感興趣的朋友一起看看吧
    2019-07-07
  • Docker報錯denied:requested access to the resource is denied解決

    Docker報錯denied:requested access to the r

    這篇文章主要為大家介紹了Docker報錯denied:requested access to the resource is denied解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Docker部署Minio集群的實現(xiàn)步驟

    Docker部署Minio集群的實現(xiàn)步驟

    本文介紹 Docker Compose 部署 Minio 集群的方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • MacBookPro下docker的安裝與使用教程

    MacBookPro下docker的安裝與使用教程

    Windows與Linux下關(guān)于docker的安裝使用方法有很多,今天小編這里給大家分享的是MacOS下docker的安裝與簡單使用案例,非常簡單,給有需要的小伙伴參考下
    2017-03-03

最新評論

泽普县| 清镇市| 垣曲县| 凤凰县| 昆山市| 红桥区| 静安区| 青神县| 大兴区| 鸡泽县| 汾阳市| 剑阁县| 雷山县| 巴塘县| 水城县| 清丰县| 哈密市| 海城市| 石渠县| 宁化县| 昭平县| 茂名市| 新干县| 抚宁县| 湖州市| 朝阳区| 桃江县| 白水县| 宣恩县| 淳安县| 洛川县| 余江县| 乌什县| 尚义县| 修文县| 容城县| 巧家县| 三亚市| 确山县| 岢岚县| 汝阳县|