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 网络名 容器名 |