你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。公众号“吴计可师”,已经更新了近百篇高质量的面试相关文章,喜欢的朋友欢迎关注点赞
Docker 常用命令的全面总结,涵盖 镜像管理、容器操作、网络配置、数据卷管理 等核心场景,适合快速查阅和日常使用:
一、基础信息
| 命令 | 作用 |
|---|
docker version | 查看 Docker 版本信息 |
docker info | 查看 Docker 系统信息 |
docker system df | 查看 Docker 磁盘占用 |
二、镜像管理
| 命令 | 作用 |
|---|
docker pull <镜像名>:<标签> | 拉取镜像(默认最新标签)
docker pull nginx:1.23 |
docker images | 列出本地所有镜像 |
docker rmi <镜像ID> | 删除指定镜像 |
docker image prune | 清理未被使用的镜像 |
docker build -t <镜像名> . | 构建镜像(基于当前目录的 Dockerfile) |
三、容器操作
启动容器
| 命令 | 作用 |
|---|
docker run -d --name <容器名> <镜像> | 启动容器(后台运行)
docker run -d --name my_nginx nginx |
docker run -it --rm <镜像> <命令> | 启动临时交互式容器
docker run -it --rm ubuntu bash |
docker run -p <宿主机端口>:<容器端口> <镜像> | 端口映射
docker run -p 8080:80 nginx |
查看与管理容器
| 命令 | 作用 |
|---|
docker ps | 查看运行中的容器 |
docker ps -a | 查看所有容器(包括已停止的) |
docker stop <容器名/ID> | 停止容器 |
docker start <容器名/ID> | 启动已停止的容器 |
docker restart <容器名/ID> | 重启容器 |
docker rm <容器名/ID> | 删除已停止的容器 |
docker rm -f <容器名/ID> | 强制删除运行中的容器 |
docker logs <容器名/ID> | 查看容器日志 |
docker logs -f <容器名/ID> | 实时跟踪日志输出 |
进入容器
| 命令 | 作用 |
|---|
docker exec -it <容器名/ID> <命令> | 在运行的容器中执行命令
docker exec -it my_nginx bash |
四、容器生命周期管理
| 命令 | 作用 |
|---|
docker pause <容器名/ID> | 暂停容器进程 |
docker unpause <容器名/ID> | 恢复暂停的容器 |
docker kill <容器名/ID> | 强制终止容器 |
docker inspect <容器名/ID> | 查看容器详细信息(IP、挂载等) |
五、网络管理
| 命令 | 作用 |
|---|
docker network ls | 列出所有网络 |
docker network create <网络名> | 创建自定义网络
docker network create my_network |
docker network connect <网络名> <容器名> | 将容器连接到网络 |
docker network inspect <网络名> | 查看网络详细信息 |
六、数据卷管理
| 命令 | 作用 |
|---|
docker volume create <卷名> | 创建数据卷 |
docker volume ls | 列出所有数据卷 |
docker volume inspect <卷名> | 查看数据卷详情 |
docker run -v <宿主机路径>:<容器路径> <镜像> | 挂载主机目录到容器
docker run -v /data:/app/data nginx |
docker run -v <卷名>:<容器路径> <镜像> | 挂载数据卷到容器
docker run -v my_vol:/app/data nginx |
七、Docker Compose 常用命令
| 命令 | 作用 |
|---|
docker-compose up -d | 启动所有服务(后台运行) |
docker-compose down | 停止并删除所有容器和网络 |
docker-compose logs -f <服务名> | 查看指定服务的实时日志 |
docker-compose build | 重新构建服务镜像 |
docker-compose restart <服务名> | 重启指定服务 |
八、清理与维护
| 命令 | 作用 |
|---|
docker system prune | 清理所有未使用的镜像、容器、网络和缓存 |
docker container prune | 清理所有已停止的容器 |
docker volume prune | 清理未被使用的数据卷 |
九、实战示例
运行 MySQL 容器
docker run -d --name mysql_db \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-v mysql_data:/var/lib/mysql \
-p 3306:3306 \
mysql:8.0
进入 Redis 容器并执行命令
docker exec -it my_redis redis-cli
导出/导入镜像
docker save -o nginx.tar nginx:latest
docker load -i nginx.tar
十、高级技巧
-
限制容器资源:
docker run -d --memory="2g" --cpus="1.5" nginx
-
查看容器进程:
docker top <容器名/ID>
-
修改容器时区:
docker run -e TZ=Asia/Shanghai nginx
-
容器用户权限:
docker run -u 1000:1000 nginx
通过掌握这些命令,可以高效管理 Docker 容器和镜像。建议将常用操作封装为脚本(如批量启动、日志清理),并结合 docker-compose.yml 管理复杂应用。
今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。
公众号:吴计可师
