首页 自动驾驶

Docker 常用命令速查:从入门到进阶,高效容器化实践指南

分类:自动驾驶
字数: (1351)
阅读: (2404)
内容摘要:Docker 常用命令速查:从入门到进阶,高效容器化实践指南,

在容器化技术日益普及的今天,掌握 Docker 命令是每一位后端工程师的必备技能。本文将系统总结 Docker 的常用命令,并通过实际场景案例,深入剖析其底层原理,助你轻松驾驭 Docker,提升开发效率。例如,我们常常需要在 Docker 容器中运行 Nginx 来实现反向代理和负载均衡,此时就需要熟练掌握 Docker 的端口映射、数据卷挂载等操作。

镜像管理

镜像(Image)是 Docker 容器的基础,包含了运行应用程序所需的所有依赖项和配置。

  • docker pull: 从 Docker Hub 或其他镜像仓库拉取镜像。

    docker pull nginx:latest  # 拉取最新版本的 Nginx 镜像
    
  • docker images: 列出本地已有的镜像。

    docker images  # 显示本地镜像列表
    
  • docker rmi: 删除本地镜像。

    docker rmi nginx:latest # 删除 nginx:latest 镜像
    docker rmi <image_id> # 根据镜像 ID 删除镜像
    
  • docker build: 使用 Dockerfile 构建镜像。

    Docker 常用命令速查:从入门到进阶,高效容器化实践指南
    docker build -t my-app:1.0 . # 从当前目录的 Dockerfile 构建名为 my-app,标签为 1.0 的镜像
    
  • docker push: 将镜像推送到 Docker Hub 或其他镜像仓库。

    docker login # 首先需要登录
    docker push your-username/my-app:1.0 # 将 my-app:1.0 推送到 Docker Hub
    

容器管理

容器(Container)是镜像的运行时实例,可以启动、停止、删除等。

  • docker run: 创建并启动一个新的容器。

    docker run -d -p 80:80 nginx:latest # 在后台运行 Nginx 容器,并将宿主机的 80 端口映射到容器的 80 端口
    docker run -it ubuntu bash # 以交互模式运行 Ubuntu 容器,并进入容器的 bash 终端
    
  • docker ps: 列出正在运行的容器。

    docker ps # 显示正在运行的容器
    docker ps -a # 显示所有容器,包括已停止的容器
    
  • docker stop: 停止一个正在运行的容器。

    Docker 常用命令速查:从入门到进阶,高效容器化实践指南
    docker stop <container_id> # 停止指定 ID 的容器
    
  • docker start: 启动一个已停止的容器。

    docker start <container_id> # 启动指定 ID 的容器
    
  • docker restart: 重启一个容器。

    docker restart <container_id> # 重启指定 ID 的容器
    
  • docker rm: 删除一个已停止的容器。

    docker rm <container_id> # 删除指定 ID 的容器
    docker rm -f <container_id> # 强制删除正在运行的容器
    
  • docker exec: 在一个正在运行的容器中执行命令。

    docker exec -it <container_id> bash # 进入指定 ID 容器的 bash 终端
    docker exec <container_id> ls /app # 在指定 ID 容器中执行 ls /app 命令
    
  • docker logs: 查看容器的日志输出。

    Docker 常用命令速查:从入门到进阶,高效容器化实践指南
    docker logs <container_id> # 查看指定 ID 容器的日志
    docker logs -f <container_id> # 实时查看指定 ID 容器的日志
    

网络管理

Docker 提供了多种网络模式,用于容器之间的通信以及容器与宿主机之间的通信。

  • docker network create: 创建一个新的网络。

    docker network create my-network # 创建一个名为 my-network 的网络
    
  • docker network connect: 将容器连接到一个网络。

    docker network connect my-network <container_id> # 将指定 ID 的容器连接到 my-network
    
  • docker network disconnect: 将容器从一个网络断开。

    docker network disconnect my-network <container_id> # 将指定 ID 的容器从 my-network 断开
    
  • docker network ls: 列出所有的网络。

    Docker 常用命令速查:从入门到进阶,高效容器化实践指南
    docker network ls # 显示所有网络列表
    

数据卷管理

数据卷(Volume)是用于持久化存储容器数据的机制,即使容器被删除,数据卷中的数据仍然存在。

  • docker volume create: 创建一个新的数据卷。

    docker volume create my-volume # 创建一个名为 my-volume 的数据卷
    
  • docker run -v: 在运行容器时挂载数据卷。

    docker run -d -v my-volume:/data nginx:latest # 将名为 my-volume 的数据卷挂载到 Nginx 容器的 /data 目录
    docker run -d -v /host/path:/container/path nginx:latest # 将宿主机 /host/path 目录挂载到容器的 /container/path 目录
    
  • docker volume ls: 列出所有的数据卷。

    docker volume ls # 显示所有数据卷列表
    
  • docker volume inspect: 查看数据卷的详细信息。

    docker volume inspect my-volume # 查看 my-volume 数据卷的详细信息
    

实战避坑

  • 镜像体积优化:尽量选择 Alpine Linux 作为基础镜像,减小镜像体积。可以使用多阶段构建,减少最终镜像中的冗余文件。
  • 数据卷权限问题:确保容器内运行的用户对数据卷具有读写权限,避免出现权限错误。
  • 网络连接问题:容器间通信时,可以使用容器名称或 service name 作为主机名,方便服务发现。
  • 资源限制:合理配置容器的 CPU 和内存资源限制,防止容器占用过多资源,影响宿主机或其他容器的运行。

Docker 命令是容器化技术的核心,熟练掌握这些命令,可以帮助你更好地管理 Docker 镜像和容器,构建高效、可靠的应用程序。例如,在实际项目中,经常使用宝塔面板来管理服务器,结合 Docker 部署应用,可以大大简化部署流程,提升运维效率。

Docker 常用命令速查:从入门到进阶,高效容器化实践指南

转载请注明出处: CoderPunk

本文的链接地址: http://m.acea3.store/blog/126363.SHTML

本文最后 发布于2026-03-30 06:50:07,已经过了28天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 非酋本酋 6 天前
    Docker 命令很多,记不住啊,收藏了,以后遇到问题就来查一下。
  • 格子衫青年 6 天前
    总结得很全面,正好最近在学 Docker,这篇文档可以当速查手册了!
  • 小明同学 5 天前
    楼主辛苦了,文章很赞!对新手很友好,感谢分享。