🐳 Docker 常用命令速查卡片
📦 镜像操作(Image)
docker search 镜像名
docker pull 镜像名[:标签]
docker images
docker rmi 镜像ID
docker tag 镜像ID 新名称:标签
docker build -t 镜像名 .
docker inspect 镜像ID
🧱 容器操作(Container)
docker create --name 容器名 镜像名
docker start 容器名
docker stop 容器名
docker restart 容器名
docker rm 容器名
docker rm -f 容器名
docker ps
docker ps -a
docker logs [-f] 容器名
docker exec -it 容器名 /bin/bash
docker cp 容器名:/容器路径 本地路径
docker cp 本地路径 容器名:/容器路径
docker stats
🌐 网络与端口
docker run -p 8080:80 镜像名
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器名
docker network create 网络名
docker network ls
docker network inspect 网络名
docker network connect 网络名 容器名
docker network disconnect 网络名 容器名
⚙️ 容器运行参数常用组合
docker run -d \--name 容器名 \-p 主机端口:容器端口 \-v 主机路径:容器路径 \-e "环境变量=值" \--restart always \镜像名
🧹 清理命令
docker container prune
docker image prune
docker system prune
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
🧾 Docker Compose
docker-compose up
docker-compose up -d
docker-compose down
docker-compose logs [-f]
docker-compose restart
docker-compose ps
docker-compose build
🚀 日常运维命令速查卡片(进阶篇)
✅ 启动 & 停止容器(批量操作)
docker start $(docker ps -a -q)
docker stop $(docker ps -q)
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)
🧼 清理空间
docker image prune -a
docker container prune
docker system prune -a
docker volume prune
🗂 文件操作(容器 ↔ 主机)
docker cp 容器ID:/path/in/container /path/on/host
docker cp /path/on/host 容器ID:/path/in/container
docker cp my-container:/var/log/app.log ./app.log
docker cp ./nginx.conf my-nginx:/etc/nginx/nginx.conf
🔍 网络 & 端口调试
docker port 容器名
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器名
docker network inspect bridge
docker exec 容器名 ping 172.18.0.1
docker exec 容器名 netstat -tulnp
docker exec 容器名 ss -tuln
🐞 容器日志 & Debug
docker logs -f 容器名
docker logs --tail 100 容器名
docker exec -it 容器名 /bin/bash
docker exec 容器名 printenv
docker run --rm -it busybox /bin/sh
🧰 容器部署维护场景示例
🎯 示例:部署 Nginx 并挂载配置
docker run -d \--name nginx \-p 8080:80 \-v $(pwd)/nginx.conf:/etc/nginx/nginx.conf \nginx
📋 示例:数据库容器 + 数据持久化
docker run -d \--name mysql \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=123456 \-v /mydata/mysql:/var/lib/mysql \mysql:5.7
💡 小技巧
场景 | 命令 |
---|
查看容器启动命令 | docker inspect --format '{{.Path}} {{range .Args}} {{.}} {{end}}' 容器名 |
查看容器运行时间 | docker ps -a --format "{{.Names}}\t{{.Status}}" |
修改运行容器配置(需要重新创建) | docker commit + docker run |
使用容器网络联通测试 | docker network connect 网络名 容器名 |