Docker 命令大全及使用场景总结

发布于:2025-08-20 ⋅ 阅读:(15) ⋅ 点赞:(0)

一、容器生命周期管理

1. 创建并运行容器
docker run [选项] 镜像名 [命令]
  • 常用选项

    • -d:后台运行(detached)

    • -it:交互式终端(如 -it ubuntu bash

    • --name:指定容器名称

    • -p 主机端口:容器端口:端口映射(如 -p 80:8080

    • -v 主机路径:容器路径:挂载数据卷

    • -e 环境变量:设置环境变量(如 -e MYSQL_ROOT_PASSWORD=123

    • --restart=always:容器崩溃自动重启

  • docker restart 容器名/ID    # 重启容器
    

    使用场景

    • 快速启动服务(如 Nginx、MySQL)

    • 运行一次性任务(如 docker run alpine echo "Hello"

2. 启动/停止/重启容器

docker start 容器名/ID      # 启动已停止的容器
docker stop 容器名/ID       # 优雅停止
docker kill 容器名/ID       # 强制终止

3. 删除容器

docker rm 容器名/ID          # 删除已停止的容器
docker rm -f 容器名/ID       # 强制删除(包括运行中的容器)
docker container prune      # 删除所有已停止的容器

二、镜像管理

1. 拉取/推送镜像
docker pull 镜像名:标签       # 拉取镜像(如 `docker pull nginx:latest`)
docker push 镜像名:标签       # 推送镜像到仓库(需先登录)
2. 构建镜像

docker build -t 镜像名:标签 Dockerfile路径
  • 使用场景

    • 自定义镜像(如基于 Dockerfile 构建应用)

3. 删除镜像
docker rmi 镜像名/ID         # 删除镜像
docker image prune -a       # 删除所有未被使用的镜像

三、查看信息

1. 查看容器状态

docker ps           # 查看运行中的容器

docker ps -a        # 查看所有容器(包括已停止的)
docker stats        # 实时监控容器资源占用(CPU/内存)
2. 查看镜像

docker images       # 列出本地镜像

docker history 镜像名 # 查看镜像构建历史
3. 查看日志
docker logs 容器名/ID          # 查看容器日志
docker logs -f 容器名/ID       # 实时跟踪日志(类似 `tail -f`)

四、数据管理

1. 数据卷(Volumes)
docker volume create 卷名      # 创建数据卷
docker volume ls             # 列出所有卷
docker volume inspect 卷名    # 查看卷详情
  • 使用场景

    • 持久化数据库数据(如 MySQL)

    • 共享数据 between containers

2. 挂载主机目录
docker run -v /主机路径:/容器路径 镜像名
  • 示例

    docker run -v /home/user/data:/app/data nginx

五、网络管理

1. 查看网络
docker network ls             # 列出所有网络
docker network inspect 网络名  # 查看网络详情
2. 创建自定义网络

docker network create 网络名
  • 使用场景

    • 容器间通信(如微服务架构)

3. 连接容器到网络

docker network connect 网络名 容器名

六、批量操作

1. 停止所有容器
docker stop $(docker ps -aq)

2. 删除所有容器

docker rm -f $(docker ps -aq)
3. 清理无用资源

docker system prune -a      # 删除所有未使用的镜像、容器、网络

七、使用场景速查表

场景 命令示例
运行 Web 服务 docker run -d -p 80:80 --name nginx nginx
调试容器 docker exec -it 容器名 bash
备份数据库数据 docker run --volumes-from mysql -v /backup:/backup alpine tar cvf /backup/mysql.tar /var/lib/mysql
构建自定义镜像 docker build -t my-app:1.0 .
容器互联 docker run --name app --network my-net -d my-app
查看容器资源占用 docker stats

八、注意事项

  1. 权限问题:某些操作需 sudo 或用户加入 docker 组。

  2. 生产环境安全

    • 避免使用 -privileged

    • 限制容器资源(--memory--cpus)。

  3. 数据持久化:重要数据务必挂载卷或绑定主机目录。

掌握这些命令后,可以覆盖 90% 的日常 Docker 使用场景!


网站公告

今日签到

点亮在社区的每一天
去签到