首页 > 其他分享 >Docker 服务编排 快速部署 SpringCloud 项目 (一)

Docker 服务编排 快速部署 SpringCloud 项目 (一)

时间:2023-02-13 14:37:03浏览次数:36  
标签:apps zeal SpringCloud redis 编排 conf always Docker restart

一、docker-compose.yml

version: "3.3"

networks:
  zeal:

volumes:
  data:

services:

  gateway:
    restart: always
    build:
      context: ./gateway
      dockerfile: Dockerfile
    container_name: zeal_gateway #指定容器名称
    ports:
      - "8222:8222"
    networks:
      - zeal

  zeal_acl:
    build:
      context: ./zeal_acl
      dockerfile: Dockerfile
    container_name: zeal_acl #指定容器名称
    ports:
      - "8009:8009"
    networks:
      - zeal

  nacos:
    restart: always
    image: nacos/nacos-server:latest
    ports:
      - "8848:8848"
    environment:
      - "MODE=standalone"
    networks:
      - zeal

  mysql:
    restart: always
    image: daocloud.io/library/mysql:5.6.20 #指定镜像路径
    container_name: mysql #指定容器名称
    ports:
      - "3306:3306" #只写一个端口随机使用宿主机一个端口进行容器端口映射
    environment:
      - "MYSQL_ROOT_PASSWORD=root"
      - "TZ=Asia/Shanghai"
      - "MYSQL_DATABASE=zeal_acl"
    volumes:
        - /apps/conf/mysql:/var/lib/mysql #映射数据卷
        - /apps/db/zeal_acl/zeal_acl_db.sql:/docker-entrypoint-initdb.d/zeal_acl_db.sql
    networks:
      - zeal

  sentinel1:
    restart: always
    image: redis
    container_name: redis-sentinel-1
    command: redis-sentinel /apps/conf/redis/conf/sentinel1.conf # 自定义路径,可更改,但是需要和volumes中的路径相同。
    restart: always
    ports:
      - 26380:26380
    volumes:
      - ./apps/conf/redis/conf/sentinel1.conf:/apps/conf/redis/conf/sentinel1.conf # 自定义路径,可更改,但是需要和command中的路径相同。
    networks:
      - zeal

  sentinel2:
    restart: always
    image: redis
    container_name: redis-sentinel-2
    command: redis-sentinel /apps/conf/redis/conf/sentine2.conf
    restart: always
    ports:
      - 26381:26381
    volumes:
      - ./apps/conf/redis/conf/sentinel2.conf:/apps/conf/redis/conf/sentine2.conf
    networks:
      - zeal

  sentinel3:
    restart: always
    image: redis
    container_name: redis-sentinel-3
    command: redis-sentinel /apps/conf/redis/conf/sentine3.conf
    restart: always
    ports:
      - 26382:26382
    volumes:
      - ./apps/conf/redis/conf/sentinel3.conf:/apps/conf/redis/conf/sentine3.conf
    networks:
      - zeal

二、Dockerfile

FROM openjdk:8
ENV APP_HOME=/apps
WORKDIR $APP_HOME
COPY api_gateway-1.0-SNAPSHOT.jar api_gateway.jar
EXPOSE 8222
ENTRYPOINT ["java","-jar"]
CMD ["api_gateway.jar"]

三、部署注册中心 配置中心 Nacos

docker-compose up -d nacos

四、部署网关 Gateway

docker-compose up -d gateway

 

 

 

 成功注册

五、部署MySql

docker-compose up -d mysql

六、部署Redis 哨兵模式

docker-compose up -d sentinel1
docker-compose up -d sentinel2
docker-compose up -d sentinel3

七、部署业务服务

docker-compose up -d zeal_acl

 SUCCESS!!!!!

 

标签:apps,zeal,SpringCloud,redis,编排,conf,always,Docker,restart
From: https://www.cnblogs.com/mangoubiubiu/p/17116206.html

相关文章

  • SpringCloud精通
    什么是微服务?微服务是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调,最终对外提供服务......
  • CentOS安装docker --MYSQL
    准备检测系统版本和内核版本  安装自动安装脚本curl -sSL https://get.daocloud.io/docker | sh  启动docker  搜索docker可用资源dockersearch......
  • docker 安装mysql
    1,dockerpullmysql:5.7.41具体镜像查看docker官网仓库2,创建容器在本地的映射文件夹mkdir-p/root/mysql/data/root/mysql/logs/root/mysql/conf3,创建mysql配置......
  • docker 运行环境
    步骤1-启用适用于Linux的Windows子系统需要先启用“适用于Linux的Windows子系统”可选功能,然后才能在Windows上安装Linux分发。以管理员身份打开Power......
  • docker 安装nginx1.22.1
    1,拉取镜像:dockerpullnginx:1.22.12,创建映射目录mkdir-p/docker/nginx3,创建临时容器用于复制配置信息dockerrun--namenginx-p80:80-dnginx:1.22.14,拷贝......
  • docker实战(8)使用docker-compose快速搭建zookeeper集群
    镜像下载dockerpullzookeeper复制zookeeper集群的搭建创建名为docker-compose.yml的文件输入以下内容version:'2'services:zk1:image:zookeeperrestart:......
  • SpringCloud Alibaba微服务工具集
    文章目录​​1、SpringCloudAlibaba简介​​​​1.1springcloudalibaba概述​​​​1.2springcloudalibaba特性​​​​1.3SpringCloud组件​​​​2、SpringClou......
  • SpringCloud 微服务工具集总结
    文章目录​​1、微服务​​​​2、为什么要用微服务?​​​​2.1优势:​​​​2.2缺点:​​​​3、SpringCloud微服务工具集​​​​4、SpringCloud工具集核心组件​​​​4.......
  • Docker-Compose实战<上篇>
    1什么是docker-compose?Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就......
  • docker快速启动一个mysql8的容器
    dockerrun-itd--namemysql8-p3354:3306-eMYSQL_ROOT_PASSWORD=root-eTZ=Asia/Shanghaiubuntu/mysql:8.0-20.04_beta--default-authentication-plugin=mysql......