docker常用指令的實現(xiàn)示例
一、鏡像管理指令
docker pull [鏡像名]:[標(biāo)簽]
功能:從遠(yuǎn)程鏡像倉庫(默認(rèn) Docker Hub)下載鏡像到本地。
目的:獲取運(yùn)行容器所需的基礎(chǔ)環(huán)境(如操作系統(tǒng)、應(yīng)用服務(wù)等),避免本地重復(fù)構(gòu)建。
示例:docker pull nginx:latest 拉取最新版本的 Nginx 鏡像。
docker images / docker image ls
功能:列出本地已下載的所有鏡像,包含鏡像名稱、標(biāo)簽、ID、創(chuàng)建時間和大小。
目的:查看本地鏡像資源,確認(rèn)是否已存在所需鏡像,避免重復(fù)拉取。
docker rmi [鏡像ID/鏡像名] / docker image rm
功能:刪除本地指定的鏡像。
目的:清理無用鏡像,釋放磁盤空間(注意:需先刪除依賴該鏡像的所有容器)。
docker build -t [鏡像名]:[標(biāo)簽] [路徑]
功能:根據(jù)指定路徑下的 Dockerfile 構(gòu)建自定義鏡像。
目的:將應(yīng)用程序及其依賴打包成可移植的鏡像,確保環(huán)境一致性。
關(guān)鍵參數(shù):-t 用于給鏡像命名和打標(biāo)簽,方便后續(xù)識別和使用
二、容器操作指令
docker run [選項] [鏡像名] [命令]
功能:基于指定鏡像創(chuàng)建并啟動一個新容器。
核心目的:運(yùn)行應(yīng)用程序的實例,通過選項配置容器的運(yùn)行方式。
關(guān)鍵選項解析:
-it:以交互式終端模式運(yùn)行(如進(jìn)入容器內(nèi)部操作)。
-d:后臺守護(hù)模式運(yùn)行(適合長期運(yùn)行的服務(wù),如 Web 服務(wù)器)。
-p 主機(jī)端口:容器端口:將容器內(nèi)的端口映射到主機(jī),實現(xiàn)外部訪問(如 -p 80:80 使主機(jī) 80 端口對應(yīng)容器內(nèi)的 Nginx 服務(wù))。
-v 主機(jī)路徑:容器路徑:將主機(jī)目錄掛載到容器,實現(xiàn)數(shù)據(jù)持久化(如數(shù)據(jù)庫數(shù)據(jù)存儲在主機(jī),避免容器刪除后數(shù)據(jù)丟失)。
--name:給容器指定名稱,方便后續(xù)操作(替代冗長的容器 ID)。
docker ps / docker ps -a
功能:docker ps 列出當(dāng)前運(yùn)行中的容器;docker ps -a 列出所有容器(包括已停止的)。
目的:查看容器狀態(tài)(運(yùn)行 / 停止)、ID、名稱、端口映射等信息,用于管理和排查問題。
docker start/stop/restart [容器ID/名稱]
功能:分別用于啟動已停止的容器、停止運(yùn)行中的容器、重啟容器。
目的:靈活控制容器生命周期,例如服務(wù)升級后重啟容器生效,或臨時停止不需要的服務(wù)節(jié)省資源。
docker exec -it [容器ID/名稱] [命令]
功能:在運(yùn)行中的容器內(nèi)執(zhí)行指定命令(通常用 bash 進(jìn)入交互式終端)。
目的:臨時進(jìn)入容器調(diào)試(如查看日志、修改配置),不影響容器本身的運(yùn)行狀態(tài)(退出后容器繼續(xù)運(yùn)行)。
docker rm [容器ID/名稱] / docker rm -f
功能:刪除指定容器(-f 強(qiáng)制刪除運(yùn)行中的容器)。
目的:清理無用容器(如測試完成的臨時容器),釋放系統(tǒng)資源。
docker logs [容器ID/名稱] / docker logs -f
功能:查看容器運(yùn)行日志;-f 實時跟蹤日志輸出(類似 tail -f)。
目的:排查應(yīng)用程序錯誤(如服務(wù)啟動失敗、運(yùn)行時異常),監(jiān)控容器運(yùn)行狀態(tài)。
三、數(shù)據(jù)卷管理指令
docker volume create [卷名]
功能:創(chuàng)建一個獨(dú)立于容器的持久化數(shù)據(jù)卷(由 Docker 管理存儲路徑)。
目的:解決容器數(shù)據(jù)臨時存儲的問題(容器刪除后數(shù)據(jù)不丟失),適用于數(shù)據(jù)庫、配置文件等需要持久化的數(shù)據(jù)。
docker volume ls / docker volume inspect [卷名]
功能:ls 列出所有數(shù)據(jù)卷;inspect 查看指定卷的詳細(xì)信息(如實際存儲路徑)。
目的:管理數(shù)據(jù)卷資源,確認(rèn)數(shù)據(jù)卷是否存在及存儲位置。
docker volume rm [卷名] / docker volume prune
功能:rm 刪除指定數(shù)據(jù)卷;prune 清理所有未被容器使用的數(shù)據(jù)卷。
目的:刪除無用數(shù)據(jù)卷,釋放磁盤空間(注意:數(shù)據(jù)卷刪除后數(shù)據(jù)不可恢復(fù))。
四、網(wǎng)絡(luò)管理指令
docker network create [網(wǎng)絡(luò)名]
功能:創(chuàng)建自定義網(wǎng)絡(luò)(默認(rèn)使用橋接模式)。
目的:實現(xiàn)容器間的隔離與通信,例如將前端、后端、數(shù)據(jù)庫容器加入同一網(wǎng)絡(luò),使它們可通過容器名互相訪問。
docker network ls / docker network inspect [網(wǎng)絡(luò)名]
功能:ls 列出所有網(wǎng)絡(luò);inspect 查看網(wǎng)絡(luò)詳情(如包含的容器、IP 配置等)。
目的:管理網(wǎng)絡(luò)資源,確認(rèn)容器的網(wǎng)絡(luò)連接狀態(tài)。
docker network connect [網(wǎng)絡(luò)名] [容器名]
功能:將指定容器連接到目標(biāo)網(wǎng)絡(luò)。
目的:靈活配置容器的網(wǎng)絡(luò)環(huán)境,例如讓一個容器同時加入多個網(wǎng)絡(luò),實現(xiàn)與不同服務(wù)的通信。
五、其他核心指令
docker info / docker version
功能:info 顯示 Docker 系統(tǒng)的詳細(xì)信息(如容器 / 鏡像數(shù)量、存儲驅(qū)動、網(wǎng)絡(luò)模式等);version 顯示 Docker 客戶端和服務(wù)端的版本。
目的:檢查 Docker 環(huán)境是否正常,確認(rèn)版本兼容性(如某些指令僅支持特定版本)。
docker inspect [容器ID/容器名]
功能:查看容器的完整配置信息(JSON 格式),包含所有啟動時的參數(shù)(如端口映射、掛載目錄、環(huán)境變量、網(wǎng)絡(luò)模式等)。
目的:查看容器詳情。
docker system prune / docker system prune -a
功能:prune 清理未使用的容器、網(wǎng)絡(luò)、懸掛鏡像(未打標(biāo)簽的鏡像);-a 額外清理未被使用的鏡像。
目的:一鍵釋放磁盤空間(謹(jǐn)慎使用,確保清理的資源確實無用)。
docker commit [舊容器ID/名] [新鏡像名]:[標(biāo)簽]
功能:將舊容器導(dǎo)出為新鏡像。
目的:保留容器內(nèi)的環(huán)境和配置(后續(xù)可以基于新鏡像用新指令啟動容器,尤其用于復(fù)雜環(huán)境,但鏡像體積變大、繼承舊容器冗余)。
docker save / docker load
功能:save -o [文件] [鏡像] 將鏡像導(dǎo)出為本地 tar 文件;load -i [文件] 從 tar 文件導(dǎo)入鏡像。
目的:在無網(wǎng)絡(luò)環(huán)境中傳輸鏡像(如離線部署),或備份重要鏡像。
到此這篇關(guān)于docker常用指令的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)docker常用指令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
修改Docker容器內(nèi)文件的三種實現(xiàn)方式
這篇文章主要介紹了修改Docker容器內(nèi)文件的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Docker部署SpringBoot項目,本地運(yùn)行正常,部署至服務(wù)器報錯zip file close
這篇文章主要介紹了Docker部署SpringBoot項目,本地運(yùn)行正常,部署至服務(wù)器報錯zip file closed問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
Docker MySQL每天定時自動備份的實現(xiàn)方法
本文主要介紹了Docker MySQL每天定時自動備份的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
docker 容器數(shù)據(jù)在盤與盤之間遷移方法
這篇文章主要介紹了docker 容器數(shù)據(jù)在盤與盤之間遷移方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04

