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

相关推荐
boss-dog2 小时前
Ubuntu22.04——配置固定IP
ubuntu·ip
企鹅虎3 小时前
linux内核驱动开发视频课程
linux
Clownseven3 小时前
如何用Fail2ban保护Linux服务器?防止SSH暴力破解教程
linux·服务器·ssh
源码部署24 小时前
linux内核驱动开发视频课程
linux
无敌最俊朗@4 小时前
Linux 进程创建与控制详解
linux·运维·服务器
张红尘4 小时前
龙蜥OS8.10配置repo源使用RPM安装Redis8.2
linux·redis·操作系统
编程点滴4 小时前
前端项目从 Windows 到 Linux:构建失败的陷阱
linux·前端
小白银子5 小时前
零基础从头教学Linux(Day 43)
linux·运维·服务器·nginx
小Lu的开源日常5 小时前
如何使用 GitHub Action 发布 Docker 镜像
docker·开源·github