在 Ubuntu 上通过 Docker 与 Docker Compose 部署项目的完整指南

在实际项目开发与运维中,很多人都会选择 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

可选:gitmake

所有应用相关依赖都会在容器内部通过 Dockerfilerequirements.txt 安装,宿主机保持干净。

这也是 Docker 部署的最大优势 ------ 环境隔离、快速迁移、可重复构建

相关推荐
minji...7 分钟前
linux 进程控制(一) (fork进程创建,exit进程终止)
linux·运维·服务器·c++·git·算法
I · T · LUCKYBOOM10 分钟前
21.Linux网络设置
linux·运维·网络
❀͜͡傀儡师11 分钟前
使用Docker部署DashDot服务器仪表盘和Drupal
服务器·docker·容器
Likeyou711 分钟前
关于Linux下的Oracle的rman备份操作指南
linux·运维·oracle
峰顶听歌的鲸鱼15 分钟前
13.docker部署
linux·运维·笔记·docker·容器·云计算
乌日尼乐15 分钟前
【笔记】docker实用技巧与常见操作
docker
橘子编程17 分钟前
仓颉语言变量与表达式解析
java·linux·服务器·开发语言·数据库·python·mysql
虚神界熊孩儿23 分钟前
linux下创建用户和用户组
linux·运维·服务器
hhwyqwqhhwy25 分钟前
linux 驱动 rtc
linux·运维·实时音视频
python百炼成钢27 分钟前
53.Linux regmap驱动框架
linux·运维·服务器·驱动开发