使用Docker Compose一键部署

文章目录

使用Docker Compose一键部署

一、引言

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过一个YAML文件来配置你的应用服务,然后使用一个简单的命令,就可以创建并启动所有服务。这种方式大大简化了多容器应用的部署和管理过程。本文将详细介绍如何使用Docker Compose一键部署前后端分离项目。

二、环境准备

1、安装Docker和Docker Compose

1.1、安装Docker

首先,确保你的系统满足Docker的安装要求,然后通过以下命令安装Docker:

bash 复制代码
//下载containerd.io包
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
//安装依赖项
yum install -y yum-utils device-mapper-persistent-data lvm2
//设置镜像仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安装docker
yum install -y docker-ce
1.2、安装Docker Compose

Docker Compose可以通过以下命令进行安装:

bash 复制代码
//安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
//文件授权
chmod +x /usr/local/bin/docker-compose

2、验证安装

安装完成后,可以通过以下命令来验证Docker和Docker Compose是否安装成功:

bash 复制代码
docker version
docker-compose --version

三、编写Docker Compose文件

1、创建目录结构

首先,创建一个工作目录,并在其中创建必要的子目录:

bash 复制代码
cd /home
mkdir lory
cd lory
mkdir conf db jar html

2、编写Dockerfile

根据项目需求,编写相应的Dockerfile。例如,对于MySQL服务,Dockerfile可能如下:

Dockerfile 复制代码
# 基础镜像
FROM mysql:5.7
# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/

3、编写docker-compose.yml

编写一个docker-compose.yml文件,定义服务、网络和卷:

yaml 复制代码
version: '3'
services:
  mysql:
    image: mysql:5.7
    build: ./mysql
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/logs
      - ./mysql/data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: 'purchase_system'
      MYSQL_ROOT_PASSWORD: 123456

四、部署项目

1、构建镜像

在项目根目录下运行以下命令构建镜像:

bash 复制代码
docker-compose build

2、启动服务

使用以下命令启动所有服务:

bash 复制代码
docker-compose up -d

3、验证部署

通过访问应用的前端界面或使用相关工具(如数据库管理工具)来验证服务是否正常运行。

五、总结

Docker Compose提供了一种简单而强大的方式来部署和管理多容器Docker应用程序。通过定义服务、网络和卷的配置文件,我们可以轻松地一键部署复杂的应用环境。这种方法不仅提高了开发和部署的效率,也使得应用的可移植性和可维护性得到了极大的提升。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

相关推荐
F1FJJ14 分钟前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
皮卡蛋炒饭.15 分钟前
Ext系列文件系统
运维
齐齐大魔王19 分钟前
linux-核心工具
linux·运维·服务器
醇氧19 分钟前
Linux 系统的启动过程
linux·运维·服务器
IMPYLH20 分钟前
Linux 的 dircolors 命令
linux·运维·服务器·数据库
齐齐大魔王24 分钟前
linux-基础操作
linux·运维·服务器
进击切图仔28 分钟前
Docker + tmux + ROS:持久化的机器人开发环境
docker·容器·机器人
一个有温度的技术博主29 分钟前
网安实验系列二:服务器信息收集
运维·服务器
bwz999@88.com1 小时前
ubuntu24.04更换国内源
linux·运维·服务器
腾科IT教育1 小时前
红帽认证考试全国考点信息新发布,便捷参考
运维·服务器·红帽认证·linux考试·rhcsa考试