Docker常用命令总结
Docker常用命令总结
镜像管理
搜索镜像
1 | docker search nginx |
拉取镜像
1 | docker pull nginx:1.25 |
拉取精简镜像
1 | docker pull redis:alpine |
查看本地镜像
1 | docker images |
格式化显示镜像
1 | docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}" |
删除镜像
1 | docker rmi nginx |
清理悬空镜像
1 | docker image prune |
清理所有未使用镜像
1 | docker image prune -a |
构建镜像
1 | docker build -t myapp:v1.0 . |
无缓存构建
1 | docker build --no-cache -t myapp:v2.0 . |
容器管理
前台运行容器
1 | docker run nginx |
后台运行容器
1 | docker run -d nginx |
交互模式运行
1 | docker run -it ubuntu bash |
停止后自动删除
1 | docker run --rm nginx |
常用选项运行
1 | docker run -d --name myapp -p 8080:80 -v /data:/data nginx |
查看运行中的容器
1 | docker ps |
查看所有容器
1 | docker ps -a |
实时查看日志
1 | docker logs -f myapp |
查看最近100行日志
1 | docker logs --tail 100 myapp |
启动容器
1 | docker start myapp |
停止容器
1 | docker stop myapp |
重启容器
1 | docker restart myapp |
删除容器
1 | docker rm myapp |
强制删除容器
1 | docker rm -f myapp |
进入容器
1 | docker exec -it myapp bash |
执行单条命令
1 | docker exec myapp ls /app |
数据管理
创建卷
1 | docker volume create mydata |
使用卷运行容器
1 | docker run -v mydata:/data nginx |
挂载当前目录
1 | docker run -v $(pwd):/app nginx |
只读挂载
1 | docker run -v /host:/container:ro nginx |
网络管理
查看网络
1 | docker network ls |
创建网络
1 | docker network create mynet |
创建自定义网段
1 | docker network create --subnet 172.20.0.0/16 mynet |
容器加入网络
1 | docker network connect mynet mycontainer |
Docker Compose
注:新版Docker(v2+)使用
docker compose,旧版使用docker-compose
后台启动服务
1 | docker-compose up -d |
重新构建并启动
1 | docker-compose up --build |
停止并删除服务
1 | docker-compose down |
同时删除卷
1 | docker-compose down -v |
查看服务状态
1 | docker-compose ps |
实时查看日志
1 | docker-compose logs -f |
查看指定服务日志
1 | docker-compose logs -f web |
重启服务
1 | docker-compose restart |
运行多个实例
1 | docker-compose up -d --scale web=3 |
进入容器执行命令
1 | docker-compose exec web sh |
非交互执行命令
1 | docker-compose exec -T web cat config.js |
清理资源
清理未使用资源
1 | docker system prune |
清理所有(包括镜像)
1 | docker system prune -a |
查看磁盘使用
1 | docker system df |
批量删除所有容器
1 | docker stop $(docker ps -q) && docker rm $(docker ps -aq) |
快速启动常用服务
启动Nginx
1 | docker run -d --name nginx -p 80:80 nginx:alpine |
启动MySQL
1 | docker run -d --name mysql \ |
启动Redis
1 | docker run -d --name redis \ |
启动PostgreSQL
1 | docker run -d --name postgres \ |
常见问题
查看容器日志
1 | docker logs mycontainer |
查看容器详情
1 | docker inspect mycontainer |
查看端口占用
1 | netstat -tulnp | grep 8080 |
清理磁盘
1 | docker system prune -a |
清理未使用卷
1 | docker volume prune |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mercury!
️ 内容包含AI生成,请注意甄别。
️ 内容包含AI生成,请注意甄别。





