docker
- 预计阅读时间:8 分钟
一句话总结:
Docker 命令是开发和运维必备技能,掌握常用命令和进阶玩法,轻松玩转容器世界!
⸻
Docker 常用命令与高级进阶命令详解
Docker 基本命令速查 🚀
镜像操作
docker images
查看本地所有镜像
docker pull 镜像名[:tag]
拉取镜像,例:docker pull nginx:latest
docker rmi 镜像ID/镜像名
删除镜像
docker build -t myimg:1.0 .
构建镜像
容器操作
列出正在运行(或全部)的容器
docker ps [-a]
运行一个容器(交互模式/指定端口/命名)
docker run -it --name mynginx -p 80:80 nginx
启动、停止、重启容器
docker start/stop/restart 容器ID/容器名
删除容器(要先 stop)
docker rm 容器ID/容器名
进入正在运行的容器终端
docker exec -it 容器ID/容器名 bash
实时查看容器日志
docker logs -f 容器ID/容器名
网络与数据卷
查看所有网络
docker network ls
新建网络
docker network create mynet
查看所有数据卷
docker volume ls
新建数据卷
docker volume create myvol
⸻
Docker 高级进阶命令 ✨
镜像管理
批量删除无用镜像/容器/卷:
docker system prune -a # 一键清理所有无用资源
docker image prune # 清理未被使用的镜像
docker container prune # 清理已退出的容器
docker volume prune # 清理无主的数据卷
查看镜像构建历史:
docker history 镜像名
导出/导入镜像:
docker save -o myimg.tar 镜像名
docker load -i myimg.tar
容器高级操作
资源限制:
docker run -m 512m --cpus=1 nginx
限制容器内存 512MB,CPU 1核
拷贝文件进/出容器:
docker cp 本地文件 容器ID:/容器路径
docker cp 容器ID:/容器路径 本地文件
容器 commit(生成新镜像):
docker commit 容器ID 新镜像名:tag
查看容器资源消耗:
docker stats
容器健康检查(需 Dockerfile 配置 HEALTHCHECK):
docker inspect --format='{{json .State.Health}}' 容器ID
网络相关
让两个容器互通:
docker network create mynet
docker run --network=mynet --name foo busybox sleep 3600
docker run --network=mynet --name bar busybox sleep 3600
foo和bar可以直接用容器名互相 ping
端口映射与多端口:
docker run -p 80:80 -p 443:443 nginx
调试与排障技巧
查看容器详细信息(JSON):
docker inspect 容器ID/容器名
查看容器内进程:
docker top 容器ID
临时进入容器进行排查:
docker exec -it 容器ID /bin/sh
bash 不存在时用 /bin/sh
“一键删除所有容器/镜像”:
docker rm -f $(docker ps -aq)
docker rmi -f $(docker images -q)
Compose 和多容器编排
一键启动服务栈:
docker-compose up -d
关闭并移除所有服务:
docker-compose down
查看 compose 日志:
docker-compose logs -f
⸻
总结一句话 🎯
Docker 命令很简单,进阶玩法很强大,开发和运维都得会,用得多就能玩转容器生态!
如果需要具体某个命令的详细讲解或者更多进阶玩法,欢迎随时问我!
No comments to display
No comments to display