在实际项目开发与运维中,很多人都会选择 Docker + Docker Compose 来部署应用。这样可以避免在宿主机上安装一大堆依赖,做到"一次构建,到处运行"。
本文将详细介绍在 Ubuntu 环境下如何安装所需的依赖,并使用 Docker Compose 来启动项目。
一、为什么选择 Docker + Compose 部署?
-
隔离性:每个项目依赖运行在自己的容器中,互不影响
-
可移植性:换服务器只需拉取镜像和配置文件即可快速启动
-
易扩展:多服务(如 Django + MySQL + Redis)可通过 Compose 一键编排
-
运维友好:统一日志、统一管理,方便排查
二、安装必要的系统组件
在 Ubuntu 上部署前,我们只需要在宿主机安装 Docker 引擎 和 Docker Compose。应用本身的依赖都会在容器内部安装。
1. 安装 Docker 引擎
# 更新 apt 包索引
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加 Docker 软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker 引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
验证安装:
docker --version
2. 安装 Docker Compose 插件
新版推荐使用 docker compose 插件(注意不带中划线),而不是旧版 docker-compose
。
sudo apt install -y docker-compose-plugin
验证:
docker compose version
如果项目使用了旧版命令,也可以额外安装:
sudo apt install -y docker-compose
3. 可选工具
-
git:方便从代码仓库拉取项目
sudo apt install -y git
-
make :如果项目提供了
Makefile
,可以简化部署命令sudo apt install -y make
三、项目内部需要准备的文件
在宿主机只需要安装 Docker 和 Compose,项目依赖(如 Django、数据库驱动、Node 模块)都在容器内安装 。
常见文件包括:
-
Dockerfile:定义如何构建镜像(如安装 Python、Django、依赖等)
-
docker-compose.yml:编排多个服务(Web、数据库、Redis 等)
-
requirements.txt / package.json:项目依赖清单,由容器内部安装
四、部署流程
假设已经准备好了项目文件,常见的部署步骤如下:
# 1. 拉取项目代码
git clone https://github.com/xxx/yourproject.git
cd yourproject
# 2. 构建并启动容器服务
docker compose up -d --build
# 3. 查看服务运行状态
docker compose ps
# 4. 查看日志输出
docker compose logs -f
此时,项目就已经运行在容器里了。
五、总结
在 Ubuntu 环境下,使用 Docker 部署项目只需要在宿主机安装几个核心组件:
-
docker-ce
-
docker-ce-cli
-
containerd.io
-
docker-compose-plugin
可选:git
、make
所有应用相关依赖都会在容器内部通过 Dockerfile
或 requirements.txt
安装,宿主机保持干净。
这也是 Docker 部署的最大优势 ------ 环境隔离、快速迁移、可重复构建。