Docker 入门:容器化基本操作指南

Docker 是一个开源平台,用于开发、部署和运行应用程序在轻量级容器中。容器化技术将应用及其依赖打包成独立单元,确保环境一致性、可移植性和高效资源利用。本指南将逐步介绍 Docker 的基本概念和操作,帮助您快速上手。所有命令基于 Linux 环境,但核心原理适用于所有操作系统。

1. 核心概念
  • 容器(Container):一个运行中的实例,包含应用代码、运行时环境和系统工具。它基于镜像创建,是隔离的进程。
  • 镜像(Image):一个只读模板,用于创建容器。镜像包含应用代码、库和配置,存储在仓库中。
  • 仓库(Repository):存储和共享镜像的平台,如 Docker Hub(官方公共仓库)。
2. 安装 Docker

在开始操作前,请确保已安装 Docker:

  • Linux:使用包管理器安装,例如 Ubuntu 系统:
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    

  • Windows/macOS:下载 Docker Desktop 并安装(访问 Docker 官网)。
3. 基本操作步骤

以下命令是 Docker 的核心操作,每个步骤都附有解释和示例。

步骤 1: 拉取镜像(Pull an Image)

  • 从仓库下载镜像到本地。
  • 命令格式:docker pull [镜像名:标签]
  • 示例:拉取官方 Nginx 镜像(默认标签为 latest):
    docker pull nginx
    

步骤 2: 运行容器(Run a Container)

  • 基于镜像启动一个新容器。
  • 命令格式:docker run [选项] [镜像名]
  • 常用选项:
    • -d:后台运行(detached 模式)。
    • -p [主机端口]:[容器端口]:端口映射。
    • --name [容器名]:指定容器名称。
  • 示例:运行 Nginx 容器,映射到主机端口 8080:
    docker run -d -p 8080:80 --name my-nginx nginx
    

    • 此时,访问 http://localhost:8080 可看到 Nginx 欢迎页面。

步骤 3: 查看容器状态(List Containers)

  • 显示当前运行的容器。
  • 命令:docker ps
  • 查看所有容器(包括已停止的):docker ps -a
  • 示例输出:
    CONTAINER ID   IMAGE   COMMAND                  STATUS         PORTS                  NAMES
    123abc456def   nginx   "/docker-entrypoint.…"   Up 5 minutes   0.0.0.0:8080->80/tcp   my-nginx
    

步骤 4: 停止和删除容器(Stop and Remove Containers)

  • 停止容器:docker stop [容器ID或名称]
  • 删除容器:docker rm [容器ID或名称](必须先停止)。
  • 示例:停止并删除 my-nginx 容器:
    docker stop my-nginx
    docker rm my-nginx
    

步骤 5: 管理镜像(Manage Images)

  • 列出本地镜像:docker images
  • 删除镜像:docker rmi [镜像ID](必须先删除所有相关容器)。
  • 示例:查看并删除 Nginx 镜像:
    docker images  # 查看镜像列表
    docker rmi nginx  # 删除指定镜像
    

4. 简单实践示例

运行一个 Hello World 容器来测试 Docker 是否正常工作:

# 拉取官方 Hello World 镜像
docker pull hello-world

# 运行容器
docker run hello-world

  • 输出应显示欢迎消息,如 "Hello from Docker!",表示安装和操作成功。
5. 最佳实践和后续学习
  • 安全性:避免以 root 用户运行容器(使用 --user 选项)。
  • 持久化数据:使用卷(Volume)存储数据,例如 docker run -v [主机目录]:[容器目录]。
  • 进阶学习:
    • 学习 Dockerfile 来自定义镜像(例如,创建 Python 应用镜像)。
    • 探索 Docker Compose 管理多容器应用。
  • 资源推荐:官方文档(Docker Docs)和在线教程(如 Docker 官方教程)。

通过以上步骤,您已掌握 Docker 的基本操作。容器化技术是现代 DevOps 的核心,建议多实践以加深理解。遇到问题时,使用 docker --help 或社区论坛寻求支持!

更多推荐