使用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应用程序。通过定义服务、网络和卷的配置文件,我们可以轻松地一键部署复杂的应用环境。这种方法不仅提高了开发和部署的效率,也使得应用的可移植性和可维护性得到了极大的提升。


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

参考文章

相关推荐
daad7772 小时前
USB_抓包
linux·运维·服务器
未来之窗软件服务3 小时前
服务器运维(四十)日服务器linux-ps分析工具—东方仙盟
linux·运维·服务器·服务器运维·仙盟创梦ide·东方仙盟
礼拜天没时间.3 小时前
Docker自动化构建实战:从手工到多阶段构建的完美进化
运维·docker·容器·centos·自动化·sre
Trouvaille ~4 小时前
【Linux】数据链路层与以太网详解:从 MAC 地址到 ARP 的完整指南
linux·运维·服务器·网络·以太网·数据链路层·arp
xiaoliuliu123454 小时前
Xftp-7.0.0109p文件传输安装步骤详解(附FTP/SFTP连接与文件传输教程)
运维·服务器
小鸡食米5 小时前
LVS(Linux Virtual Server)
运维·服务器·网络
罗技1236 小时前
Docker启动Coco AI Server后,如何访问内置Easysearch?
人工智能·docker·容器
DeeplyMind6 小时前
第14章 挂载宿主机目录(Bind Mount)(最常用,重要)
运维·docker·云原生·容器·eureka
DeeplyMind6 小时前
第17章 Docker网络实战与高级管理
网络·docker·容器
FJW0208147 小时前
《Nginx 进阶实战:配置详解、站点发布与常用功能大全》(2)
运维·nginx