Docker的常用鏡像命令主要包括鏡像的查看、搜索、拉取、刪除、構建等操作,以下是綜合多個來源的總結:
一、基礎鏡像操作
-
查看本地鏡像
docker images
? 顯示所有本地鏡像,包含倉庫名(REPOSITORY)、標簽(TAG)、鏡像ID、創建時間及大小。
? 常用選項:
?-a
:顯示所有鏡像(包括中間層鏡像)
?-q
:僅顯示鏡像ID -
搜索公共鏡像
docker search <鏡像名>
? 從Docker Hub搜索鏡像,支持篩選:
?--filter "is-official=true"
:僅顯示官方鏡像
?-s <星數>
:按星數過濾(如-s 30
顯示星數≥30的鏡像) -
拉取鏡像
docker pull <鏡像名>:<標簽>
? 默認從Docker Hub下載鏡像,未指定標簽時自動拉取
latest
版本。
? 示例:docker pull ubuntu:20.04
-
刪除鏡像
docker rmi <鏡像名/ID>
? 刪除單個鏡像,
-f
強制刪除(如正在被容器使用)。
? 批量刪除:docker rmi -f $(docker images -aq) # 刪除所有鏡像
二、鏡像構建與推送
-
構建自定義鏡像
docker build -t <鏡像名>:<標簽> <上下文路徑>
? 通過Dockerfile構建鏡像,
-t
指定名稱和標簽,-f
指定非默認Dockerfile路徑。 -
推送鏡像到倉庫
docker push <鏡像名>:<標簽>
? 需先登錄鏡像倉庫(
docker login <倉庫地址>
)。
三、鏡像維護與清理
-
清理未使用的鏡像
docker image prune
? 刪除未被容器引用的鏡像,
-a
刪除所有未使用的鏡像。 -
查看鏡像元數據
docker inspect <鏡像名/ID>
? 顯示鏡像的詳細配置信息,包括層結構、環境變量等。
四、其他實用命令
-
登錄鏡像倉庫
docker login <倉庫地址>
? 訪問私有倉庫或第三方倉庫(如阿里云、騰訊云)時需先登錄。
-
鏡像標簽管理
docker tag <源鏡像名>:<標簽> <新鏡像名>:<新標簽>
? 為鏡像創建新標簽,常用于版本管理或推送至不同倉庫。
示例場景
? 拉取并運行Nginx:
docker pull nginx:latest
docker run -d -p 8080:80 nginx
? 構建并推送自定義鏡像:
docker build -t myapp:1.0 .
docker tag myapp:1.0 myregistry/myapp:1.0
docker push myregistry/myapp:1.0
好的,我現在需要回答用戶的問題:“docker常用容器命令”。首先,我得看看用戶提供的搜索結果中有哪些相關的信息。用戶給了8個搜索結果,我需要逐一查看,找出與容器命令相關的內容。
首先看網頁1,里面提到了很多容器管理的命令,比如docker ps查看運行中的容器,docker run啟動容器,還有進入容器、查看日志、刪除容器等命令,這些都是常用的。特別是網頁1還提到了數據卷和網絡管理的命令,不過用戶的問題主要是容器命令,可能需要重點提取這部分。
接下來是網頁2,同樣有查看容器狀態、啟動停止容器、進入容器、刪除容器等內容。這里還提到了docker container prune刪除所有已停止的容器,這個可能也是常用命令之一。另外還有容器日志管理的一些選項,比如-f實時跟蹤日志,這些應該包含進去。
網頁3的內容看起來比較基礎,包括docker run的參數,比如映射端口、掛載數據卷,還有docker ps、start/stop/restart等命令。這里還提到了Dockerfile和docker-compose,不過用戶問題可能不需要這些,但需要注意是否有相關命令需要提及。
網頁4分成了常規和高級用法,容器管理部分有啟動、查看、停止刪除、進入容器等,還提到了強制刪除容器和進入容器執行命令的高級用法。這些可能需要作為補充。
網頁5列出了很多具體的命令例子,比如docker ps -a查看所有容器,docker exec進入容器,docker rm刪除容器等。這里還提到了保存和加載鏡像的命令,但用戶問題主要關注容器命令,所以鏡像管理可能不需要,但容器日志、提交容器變化為鏡像這些可能需要包含。
網頁6詳細介紹了容器操作命令,包括創建、列出、啟動、停止、進入、刪除容器,以及網絡管理。其中端口映射和后臺運行的選項在docker run中很重要,需要強調。
網頁7主要是基礎命令,比如啟動Docker服務,鏡像管理,可能和容器命令關聯不大,但可能有docker run的部分。
網頁8雖然主要講環境搭建,但其中涉及運行容器和掛載目錄的命令,比如docker run -v,這可能也是常用命令的一部分。
現在需要整合這些信息,把常用的容器命令分類整理。可能分為啟動容器、查看容器、啟停重啟、進入容器、刪除容器、查看日志、數據卷掛載、網絡連接等方面。每個部分從各個網頁中提取對應的命令和參數,并引用對應的網頁編號。
需要注意避免重復,比如多個網頁都提到的docker ps、docker run等命令,需要合并說明,并引用所有相關的網頁。例如docker run的參數在網頁1、3、4、6中都有提到,需要綜合這些信息。
另外,高級用法如強制刪除、查看容器詳情等,可以單獨作為小提示或高級命令部分。用戶可能需要常用命令,但適當的高級選項也能幫助用戶更有效地使用。
最后,確保每個命令都有正確的語法和示例,并正確引用來源網頁。例如docker exec -it來自網頁1、2、4、5,需要引用這些網頁的編號。
可能的結構:
- 容器生命周期管理(啟動、停止、重啟)
- 查看容器信息(ps, inspect, logs)
- 進入容器與執行命令
- 刪除容器
- 數據卷掛載
- 網絡配置
每個部分下詳細列出命令和參數,并標注引用來源。
以下是 Docker 常用容器命令的總結,涵蓋容器的生命周期管理、信息查看、交互操作等核心場景:
一、容器生命周期管理
-
啟動容器
? 基本啟動:docker run [選項] 鏡像名
示例:docker run -d --name my_nginx nginx
(后臺運行并命名容器)
? 常用選項:
?-d
:后臺運行(守護模式)
?-p 宿主機端口:容器端口
:端口映射(如-p 8080:80
)
?-v 宿主機路徑:容器路徑
:數據卷掛載(如-v /data:/app/data
)
?-e 環境變量
:設置容器內環境變量(如-e MYSQL_ROOT_PASSWORD=123456
) -
啟停與重啟
? 啟動已停止的容器:docker start 容器名/ID
? 停止容器:docker stop 容器名/ID
(優雅停止)
? 強制停止:docker kill 容器名/ID
? 重啟容器:docker restart 容器名/ID
二、容器信息查看
-
查看容器列表
? 運行中的容器:docker ps
? 所有容器(含已停止的):docker ps -a
-
查看容器詳情
? 詳細信息:docker inspect 容器名/ID
(包含網絡、卷等配置)
? 實時資源占用:docker stats 容器名/ID
(CPU/內存監控) -
查看日志
? 基礎日志:docker logs 容器名/ID
? 實時跟蹤日志:docker logs -f 容器名/ID
? 顯示最后 N 行:docker logs --tail 20 容器名/ID
三、容器交互與維護
-
進入容器終端
? 交互式終端:docker exec -it 容器名/ID /bin/bash
(常用/bin/bash
或/bin/sh
)
? 執行單條命令:docker exec 容器名/ID ls /app
(不進入終端直接執行) -
刪除容器
? 刪除已停止的容器:docker rm 容器名/ID
? 強制刪除運行中的容器:docker rm -f 容器名/ID
? 清理所有已停止的容器:docker container prune
四、高級操作
? 數據卷掛載:
使用 -v
參數持久化數據,如 docker run -v /host/data:/container/data
? 網絡配置:
? 查看容器網絡:docker network inspect 網絡名
? 連接自定義網絡:docker network connect 網絡名 容器名
? 導出與提交:
? 導出容器文件系統:docker export 容器名 > backup.tar
? 保存容器為鏡像:docker commit 容器名 新鏡像名
常用命令速查表
功能 | 命令示例 |
---|---|
后臺運行容器 | docker run -d --name web nginx |
映射端口 | docker run -p 8080:80 nginx |
查看實時日志 | docker logs -f --tail 20 web |
進入容器終端 | docker exec -it web /bin/bash |
批量刪除停止的容器 | docker container prune |
更多細節可參考 Docker 官方文檔或相關技術博客。