docker 命令大全(保姆级教程)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观

在当今的软件开发领域,Docker 已经成为容器化技术的基石,它简化了开发、测试和部署流程,帮助开发者实现“一次构建,到处运行”的目标。随着 Docker 的广泛应用,掌握其核心命令成为编程人员的必备技能。本文将系统性地梳理 Docker 命令大全,涵盖从基础操作到高级功能的全场景实践,旨在帮助编程初学者快速上手,中级开发者深入掌握技巧。


一、安装与环境配置

1.1 安装 Docker

不同操作系统下 Docker 的安装命令略有差异,以下是常见系统的安装示例:

  • Ubuntu/Debian
    sudo apt-get update  
    sudo apt-get install docker.io  
    
  • CentOS/RHEL
    sudo yum install -y docker  
    sudo systemctl start docker  
    
  • macOS:通过 Homebrew 安装:
    brew install --cask docker  
    

1.2 验证安装

安装完成后,通过以下命令验证 Docker 是否正常运行:

docker --version  
docker run hello-world  

若成功输出欢迎信息,说明环境配置完成。


二、Docker 基础命令详解

2.1 查看 Docker 版本与状态

  • 查看版本信息

    docker version  
    

    该命令会返回客户端与服务端的版本号,帮助排查版本兼容性问题。

  • 查看系统信息

    docker info  
    

    输出包括存储驱动、网络配置、镜像与容器数量等,适合排查资源使用异常。


三、镜像管理命令

3.1 拉取与搜索镜像

  • 从仓库拉取镜像

    docker pull nginx:latest  
    

    此命令从 Docker Hub 下载最新版 Nginx 镜像。

  • 搜索镜像

    docker search python  
    

    返回与“python”相关的镜像列表,包括星级评分和官方认证标记。

3.2 镜像构建与保存

  • 构建镜像
    假设存在一个 Dockerfile 文件:

    FROM python:3.8-slim  
    COPY . /app  
    WORKDIR /app  
    RUN pip install -r requirements.txt  
    CMD ["python", "app.py"]  
    

    构建命令:

    docker build -t my-python-app:1.0 .  
    
  • 保存与加载镜像

    docker save -o my-image.tar my-python-app:1.0  # 保存为 tar 文件  
    docker load -i my-image.tar                     # 从 tar 文件加载  
    

3.3 镜像清理与查询

  • 删除镜像

    docker rmi my-python-app:1.0  
    
  • 查看所有镜像

    docker images  
    

四、容器操作命令

4.1 创建与运行容器

  • 运行容器
    docker run -d \  
      --name my-nginx \  
      -p 8080:80 \  
      nginx:latest  
    

    参数解释:

    • -d:后台运行(守护模式)
    • --name:指定容器名称
    • -p:端口映射(主机8080 → 容器80)

4.2 容器状态与交互

  • 查看运行中的容器

    docker ps  
    
  • 进入容器

    docker exec -it my-nginx /bin/bash  
    

4.3 停止与删除容器

  • 停止容器

    docker stop my-nginx  
    
  • 删除容器

    docker rm my-nginx  
    

五、网络与存储命令

5.1 网络管理

  • 创建自定义网络

    docker network create my-network  
    
  • 连接容器到网络

    docker network connect my-network my-container  
    

5.2 数据卷操作

  • 创建数据卷

    docker volume create my-volume  
    
  • 挂载数据卷到容器

    docker run -v my-volume:/app/data ...  
    

六、高级功能与最佳实践

6.1 Docker Compose 简化多容器管理

通过 docker-compose.yml 文件定义多服务架构:

version: '3'  
services:  
  web:  
    image: nginx:latest  
    ports:  
      - "80:80"  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: example  

执行命令:

docker-compose up -d  
docker-compose down  

6.2 日志与调试

  • 查看容器日志

    docker logs my-nginx --tail 100 --follow  
    
  • 实时监控资源使用

    docker stats  
    

七、常见问题与解决方案

7.1 容器无法启动

问题:容器启动后立即退出。
解决方案

  • 检查容器进程是否在前台运行(如添加 CMD ["tail", "-f", "/dev/null"])。
  • 使用 -it 参数强制交互模式调试。

7.2 镜像占用空间过大

解决方案

  • 清理未使用的镜像与容器:
    docker system prune -a  
    

八、结论

本文通过系统性地梳理 Docker 命令大全,从基础操作到高级功能,覆盖了开发者日常所需的 90% 场景。掌握这些命令不仅能提升开发效率,还能为团队协作、自动化部署奠定坚实基础。建议读者结合实践案例逐步探索,例如通过 Docker Compose 部署一个完整的微服务架构,或利用数据卷实现持久化存储。Docker 的核心价值在于标准化与隔离性,而命令的灵活运用则是解锁其潜力的关键。


通过本文的学习,读者可以快速成为 Docker 命令的熟练使用者,为后续深入学习容器编排(如 Kubernetes)和云原生技术打下坚实基础。

最新发布