docker所有常用命令總結(jié)大全(配上思維導(dǎo)圖加圖表顯示)

一、容器生命周期管理
| 命令 | 說明 | 示例 |
|---|---|---|
| docker run | 創(chuàng)建并啟動容器 | docker run -d -p 80:80 --name nginx nginx:alpine |
| docker start/stop/restart | 啟動/停止/重啟容器 | docker stop nginx |
| docker rm | 刪除容器 | docker rm -f nginx(強制刪除運行中的容器) |
| docker pause/unpause | 暫停/恢復(fù)容器進程 | docker pause nginx |
| docker exec | 進入運行中的容器 | docker exec -it nginx sh |
| docker update | 更新容器配置 | docker update --memory 512m nginx |
場景:快速重啟服務(wù)
docker stop nginx && docker rm nginx && docker run -d -p 80:80 --name nginx nginx:alpine
二、鏡像操作
| 命令 | 說明 | 示例 |
|---|---|---|
| docker build | 構(gòu)建鏡像 | docker build -t myapp:1.0 . |
| docker pull/push | 拉取/推送鏡像 | docker pull ubuntu:20.04 |
| docker images | 列出本地鏡像 | docker images --filter “dangling=true”(顯示懸空鏡像) |
| docker rmi | 刪除鏡像 | docker rmi $(docker images -q)(刪除所有鏡像) |
| docker save/load | 導(dǎo)出/導(dǎo)入鏡像 | docker save myapp:1.0 > myapp.tar |
| docker history | 查看鏡像構(gòu)建歷史 | docker history nginx:alpine |
場景:清理無用鏡像
docker image prune -a --filter "until=24h" # 刪除24小時前的未使用鏡像
三、容器監(jiān)控與日志
| 命令 | 說明 | 示例 |
|---|---|---|
| docker ps | 查看容器列表 | docker ps -a --format “table {{.ID}}\t{{.Names}}” |
| docker logs | 查看容器日志 | docker logs -f --tail 100 nginx |
| docker stats | 實時資源監(jiān)控 | docker stats --no-stream |
| docker top | 查看容器進程 | docker top nginx |
| docker inspect | 查看容器詳情 | docker inspect nginx |
場景:診斷容器異常
docker inspect nginx | grep -i status -A 10 # 查看健康狀態(tài) docker logs --since 10m nginx | grep -i error # 搜索最近10分鐘的錯誤日志
四、網(wǎng)絡(luò)管理
| 命令 | 說明 | 示例 |
|---|---|---|
| docker network ls | 列出網(wǎng)絡(luò) | docker network ls --filter driver=bridge |
| docker network create | 創(chuàng)建自定義網(wǎng)絡(luò) | docker network create --subnet 172.20.0.0/16 mynet |
| docker network connect/disconnect | 連接/斷開容器網(wǎng)絡(luò) | docker network connect mynet nginx |
| docker network inspect | 查看網(wǎng)絡(luò)詳情 | docker network inspect mynet |
場景:容器間通信
docker run -d --net mynet --name app1 myapp docker run -d --net mynet --name app2 myapp docker exec app1 ping app2 # 直接通過容器名通信
五、數(shù)據(jù)卷與掛載
| 命令 | 說明 | 示例 |
|---|---|---|
| docker volume create | 創(chuàng)建數(shù)據(jù)卷 | docker volume create db_data |
| docker volume ls | 列出數(shù)據(jù)卷 | docker volume ls -q |
| docker run -v | 掛載數(shù)據(jù)卷 | docker run -v /data:/app/data myapp |
| docker cp | 容器與主機間拷貝文件 | docker cp nginx:/etc/nginx/nginx.conf ./ |
場景:持久化數(shù)據(jù)庫
docker run -d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
六、Docker Compose 常用命令
| 命令 | 說明 | 示例 |
|---|---|---|
| docker-compose up | 啟動服務(wù)棧 | docker-compose up -d(后臺運行) |
| docker-compose down | 停止并刪除服務(wù)棧 | docker-compose down -v(同時刪除數(shù)據(jù)卷) |
| docker-compose logs | 查看服務(wù)日志 | docker-compose logs -f app |
| docker-compose ps | 查看服務(wù)狀態(tài) | docker-compose ps --services |
| docker-compose exec | 進入服務(wù)容器 | docker-compose exec db mysql -uroot -p |
場景:開發(fā)環(huán)境重建
docker-compose down && docker-compose up --build -d
七、系統(tǒng)維護命令
| 命令 | 說明 | 示例 |
|---|---|---|
| docker system df | 查看磁盤使用 | docker system df -v |
| docker system prune | 清理無用資源 | docker system prune --volumes -f |
| docker info | 查看Docker系統(tǒng)信息 | docker info |
| docker version | 查看版本信息 | docker version --format ‘{{.Server.Version}}’ |
場景:定期清理
docker system prune -a --filter "until=168h" # 清理一周前的所有緩存
八、實用技巧組合
停止所有容器
docker stop $(docker ps -aq)
刪除所有已停止容器
docker container prune
端口轉(zhuǎn)發(fā)調(diào)試
docker run -d -p 8080:80 -p 5000:5000 myapp
環(huán)境變量注入
docker run -e “TZ=Asia/Shanghai” -e “DEBUG=true” myapp
資源限制
docker run -d --memory=1g --cpus=2 myapp
命令速查表
# 容器管理 docker run → docker stop → docker rm # 鏡像管理 docker build → docker push → docker rmi # 排錯三板斧 docker logs → docker exec → docker inspect # 系統(tǒng)維護 docker system df → docker system prune
掌握這些命令后,可以高效管理 Docker 容器化環(huán)境。建議配合 --help 參數(shù)查看詳細選項,如 docker run --help。
總結(jié)
到此這篇關(guān)于docker所有常用命令總結(jié)大全的文章就介紹到這了,更多相關(guān)docker常用命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker不同網(wǎng)段下的容器互聯(lián)的實現(xiàn)
本文主要介紹了Docker不同網(wǎng)段下的容器互聯(lián)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
使用Docker容器運行Oracle數(shù)據(jù)庫方式
這篇文章主要介紹了使用Docker容器運行Oracle數(shù)據(jù)庫方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
vscode中啟用docker擴展顯示無權(quán)限的問題解決
這篇文章主要介紹了如何解決vscode中啟用docker擴展顯示無權(quán)限的問題,并介紹允許VSCode進入Docker內(nèi)部進行調(diào)試的插件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-03-03
詳解使用Docker快速部署ELK環(huán)境(最新5.5.1版本)
這篇文章主要介紹了詳解使用Docker快速部署ELK環(huán)境(最新5.5.1版本),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

