Docker 常用命令的全面总结

124 阅读4分钟

你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。公众号“吴计可师”,已经更新了近百篇高质量的面试相关文章,喜欢的朋友欢迎关注点赞

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              # 导入镜像

十、高级技巧

  1. 限制容器资源

    docker run -d --memory="2g" --cpus="1.5" nginx
    
  2. 查看容器进程

    docker top <容器名/ID>
    
  3. 修改容器时区

    docker run -e TZ=Asia/Shanghai nginx
    
  4. 容器用户权限

    docker run -u 1000:1000 nginx  # 指定UID:GID
    

通过掌握这些命令,可以高效管理 Docker 容器和镜像。建议将常用操作封装为脚本(如批量启动、日志清理),并结合 docker-compose.yml 管理复杂应用。

今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。 公众号:吴计可师

qrcode_for_gh_79f35896a87f_258.jpg