1. 引言

Docker 作为当下最流行的容器化技术,已经成为开发、测试、部署环节中不可或缺的基础设施。它通过将应用及其依赖打包成标准化的镜像,实现了「一次构建,处处运行」的目标,大幅降低了环境不一致带来的部署难题。

本文将从零开始,带你完整走一遍 Docker 部署的全流程:从环境安装、镜像构建,到容器运行、编排管理,再到生产环境的落地实践,帮助你建立一套清晰、可复用的部署方法论。

2. Docker 核心概念

在动手部署之前,先厘清几个核心概念,它们是理解整个流程的基石。

  • 镜像(Image):一个只读的模板,包含应用代码、运行时、依赖库和配置。镜像是构建容器的蓝图。
  • 容器(Container):镜像的运行实例,是一个隔离的进程。容器可以被启动、停止、删除,彼此之间相互隔离。
  • Dockerfile:一个文本文件,用指令描述如何一步步构建镜像。
  • 仓库(Repository):存放镜像的地方,分为本地仓库和远程仓库(如 Docker Hub、阿里云镜像仓库)。
  • 数据卷(Volume):用于持久化容器产生的数据,避免容器删除后数据丢失。
  • 网络(Network):Docker 提供的网络模式,用于容器之间以及容器与宿主机的通信。

3. 环境准备与安装

3.1 安装 Docker(docker.io)

以 Ubuntu 为例,安装 Docker 主要有两种方式:

方式一:使用 apt 软件源安装(推荐)
适用于大多数 Ubuntu 版本,通过系统软件源安装:

# 直接使用 Ubuntu 软件源安装 Docker(docker.io 包含 Docker Engine 及 CLI)
sudo apt update
sudo apt install docker.io -y

方式二:使用官方安装脚本(适用于 Ubuntu 24 等新版本)
官方提供了便捷的安装脚本,会自动检测系统版本并安装最新稳定版 Docker:

# 1. 下载官方安装脚本
curl -fsSL https://get.docker.com -o install-docker.sh

# 2. 查看脚本内容(可选,建议检查)
cat install-docker.sh

# 3. 使用 --dry-run 参数预览安装步骤(可选)
sudo sh install-docker.sh --dry-run

# 4. 执行安装
sudo sh install-docker.sh

注意:方式二会安装 Docker 官方仓库的最新版本,而方式一安装的是 Ubuntu 软件源中的版本。对于 Ubuntu 24 等新版本系统,推荐使用方式二获取最新特性支持。

3.2 验证安装

# 查看 Docker 版本
docker --version

# 查看 Docker 运行状态
sudo systemctl status docker

# 运行 hello-world 验证
sudo docker run hello-world

3.3 配置镜像加速

国内访问 Docker Hub 较慢,建议配置镜像加速器。这里使用 DaoCloud、1Panel 等公共镜像源,通过编辑 /etc/docker/daemon.json 写入配置:

sudo vi /etc/docker/daemon.json

在文件中输入以下内容,然后按 ESC 键,输入 :wq! 保存退出:

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live",
        "https://hub.rat.dev"
    ]
}

保存后重启 Docker 使配置生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

3.4 拉取 nginx 镜像验证服务

配置完镜像加速后,拉取一个 nginx 镜像并运行容器,验证 Docker 服务是否正常工作:

# 拉取 nginx 镜像
sudo docker pull nginx

# 查看本地镜像列表
sudo docker images

# 后台运行 nginx 容器,映射宿主机 8080 端口到容器 80 端口
sudo docker run -d --name my-nginx -p 8080:80 nginx

# 查看容器运行状态
sudo docker ps

# 验证服务是否正常(返回 nginx 欢迎页即表示成功)
curl http://localhost:8080

在浏览器中打开 http://192.168.175.155:8080,即可看到 nginx 的欢迎页面,效果演示如下:
在这里插入图片描述

执行 curl http://192.168.175.155:8080 后,如果能看到 nginx 的欢迎页面,说明镜像加速配置生效、Docker 服务运行正常。

更多推荐