首页 智能家居

Docker Compose 实战:Ubuntu 平台项目一键部署指南

分类:智能家居
字数: (3135)
阅读: (4920)
内容摘要:Docker Compose 实战:Ubuntu 平台项目一键部署指南,

在 Ubuntu 服务器上部署项目,如果依赖的服务较多,手动安装和配置会非常繁琐且容易出错。使用 Docker 和 Docker Compose 可以极大地简化这个过程,实现一键部署。本文将详细介绍在 Ubuntu 上通过 Docker 与 Docker Compose 部署项目的完整指南,并分享一些实战经验。

准备工作

首先,确保你的 Ubuntu 服务器上已经安装了 Docker 和 Docker Compose。如果没有,可以使用以下命令安装:

Docker Compose 实战:Ubuntu 平台项目一键部署指南
# 更新 apt 包索引
sudo apt update

# 安装 Docker 的依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 设置 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

# 安装 Docker Compose
sudo apt install docker-compose-plugin

# 验证安装
docker --version
docker compose version

创建 Dockerfile

接下来,为你的项目创建一个 Dockerfile。Dockerfile 定义了如何构建 Docker 镜像。例如,一个简单的 Node.js 项目的 Dockerfile 可能如下所示:

Docker Compose 实战:Ubuntu 平台项目一键部署指南
FROM node:16  # 使用 node:16 作为基础镜像

WORKDIR /app  # 设置工作目录

COPY package*.json ./ # 复制 package.json 和 package-lock.json

RUN npm install   # 安装依赖

COPY . .           # 复制所有文件

EXPOSE 3000      # 暴露端口

CMD ["npm", "start"] # 运行命令

编写 docker-compose.yml

docker-compose.yml 文件定义了组成你的应用程序的各个服务。例如,一个包含 Node.js 应用和 MongoDB 数据库的 docker-compose.yml 文件可能如下所示:

Docker Compose 实战:Ubuntu 平台项目一键部署指南
version: "3.8"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
    environment:
      - NODE_ENV=production
  db:
    image: mongo:latest
    ports:
      - "27017:27017"
    volumes:
      - db_data:/data/db

volumes:
  db_data:

这个文件定义了两个服务:webdb

Docker Compose 实战:Ubuntu 平台项目一键部署指南
  • web 服务使用当前目录下的 Dockerfile 构建镜像,将容器的 3000 端口映射到主机的 3000 端口,依赖于 db 服务,并设置 NODE_ENV 环境变量。
  • db 服务使用官方的 MongoDB 镜像,将容器的 27017 端口映射到主机的 27017 端口,并将数据存储在 db_data 卷中。

对于需要更高性能和稳定性的应用场景,可以考虑使用 Nginx 进行反向代理和负载均衡,提升并发连接数处理能力。如果部署在云服务器上,可以结合宝塔面板等工具进行可视化管理,简化运维工作。

部署项目

将 Dockerfile 和 docker-compose.yml 文件放在项目的根目录下。然后,在终端中进入项目根目录,执行以下命令启动项目:

docker compose up -d

这个命令会构建镜像并启动所有服务。-d 参数表示在后台运行。

常见问题与解决方案

  • 端口冲突: 确保你使用的端口没有被其他程序占用。如果端口冲突,可以在 docker-compose.yml 文件中修改端口映射。
  • 镜像构建失败: 检查 Dockerfile 是否正确,例如基础镜像是否存在,依赖是否正确安装。
  • 容器无法启动: 查看容器的日志,了解容器启动失败的原因。可以使用 docker logs <container_id> 命令查看日志。
  • 数据卷挂载问题: 检查数据卷是否正确挂载。如果数据卷没有正确挂载,数据可能会丢失。

总结

通过 Docker 和 Docker Compose,我们可以轻松地在 Ubuntu 服务器上部署复杂的项目。掌握 在 Ubuntu 上通过 Docker 与 Docker Compose 部署项目的完整指南 ,能够极大地提高开发和部署效率。希望本文能够帮助你更好地使用 Docker Compose,并避免一些常见的坑。

Docker Compose 实战:Ubuntu 平台项目一键部署指南

转载请注明出处: 码农张三

本文的链接地址: http://m.acea1.store/blog/128259.SHTML

本文最后 发布于2026-04-20 06:47:30,已经过了7天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 土豆泥选手 2 天前
    mark一下,以后肯定用得上,感谢分享!
  • 草莓味少女 6 天前
    不错,docker-compose 比手动 docker run 省事多了,减少了不少运维工作。
  • 番茄炒蛋 5 天前
    请教一下,如果项目依赖多个数据库(比如 MySQL 和 Redis),docker-compose.yml 文件应该如何配置?
  • 追梦人 3 天前
    感谢分享!正好最近在研究 Docker Compose 部署,这篇文章很实用。