在 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 部署的最大优势 ------ 环境隔离、快速迁移、可重复构建

相关推荐
hjxu201633 分钟前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
todoitbo1 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
源远流长jerry1 小时前
RDMA 基本操作类型详解:从双端通信到单端直访
linux·网络·tcp/ip·ip
Sylvia-girl2 小时前
Linux下的基本指令1
linux·运维·服务器
wyt5314293 小时前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
17(无规则自律)3 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
Stewie121383 小时前
Docker 面试题
运维·docker·容器
vpk1123 小时前
Docker Compose 安装 Redis
redis·docker·容器
天赐学c语言4 小时前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++
jarreyer4 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos