【nacos】【sentinel】【gateway】docker-compose安装及web项目部署

docker安装

【centos】【docker】安装启动

docker-compose安装

【docker-compose】安装使用

配置文件

yaml 复制代码
version: '2'
networks: #自定义网络myapp,为了只有这些服务可以在该网络内相互访问
  myapp:
    driver: bridge
services: #将容器抽象成服务
  nacos: #注册中心
    image: nacos/nacos-server:latest
    container_name: nacos
    restart: always
    environment:
      MODE: standalone
      PREFER_HOST_MODE: ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 【ip地址】#数据库在外部
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos_config
      MYSQL_SERVICE_USER: nacos
      MYSQL_SERVICE_PASSWORD: Nacos@123456
      # MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
    volumes:
      - ./docker/nacos/standalone-logs/:/home/nacos/logs
    ports:
      - "8848:8848"
    networks:
      - myapp

  sentinel: #熔断限流
    image: bladex/sentinel-dashboard
    container_name: sentinel-nacos
    restart: always
    depends_on:
      - nacos
    environment:
      NACOS_SERVER_ADDR: nacos:8848
      NACOS_USERNAME: nacos
      NACOS_PASSWORD: nacos
      NACOS_NAMESPACE: public
      NACOS_GROUP_ID: SENTINEL_GROUP
    ports:
      - "8858:8858"
    networks:
      - myapp
   
  gateway: #网关
    image: nacos-gateway
    container_name: nacos-gateway
    restart: always
    depends_on:
      - nacos
    ports:
      - "18890:18890"
    environment:
      - spring.cloud.nacos.discovery.server-addr=nacos:8848
      - spring.cloud.sentinel.transport.dashboard=sentinel:8858
    networks:
      - myapp
      
  authserver: #认证中心
    image: nacos-authserver
    container_name: nacos-authserver
    restart: always
    depends_on:
      - nacos
    environment:
      - spring.datasource.url=jdbc:mysql://10.1.58.5:3306/oauth?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT
      - spring.cloud.nacos.discovery.server-addr=nacos:8848
      - spring.cloud.sentinel.transport.dashboard=sentinel:8858
      - JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true
    networks:
      - myapp
  
  nacos-handheld: #业务后台接口
    image: nacos-handheld
    container_name: nacos-handheld
    restart: always
    depends_on: #gateway、authserver服务启动后本服务才启动
      - gateway
      - authserver
    environment: #springcloud项目application.yml配置修改
      - spring.datasource.url=jdbc:mysql://10.1.58.5:3306/handled?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT
      - spring.profiles.active=prod
      - spring.cloud.nacos.discovery.server-addr=nacos:8848
      - security.oauth2.resource.user-info-uri=http://gateway:18890/nacos-authserver/oauth/check_token
      - JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true
    networks:
      - myapp
      
  handheld-front:  #业务前端平台
    image: handheld-front
    container_name: handheld-front
    restart: always
    depends_on:
      - gateway
      - authserver
    links: #传递gateway服务ip地址到本容器,用于nginx反向代理配置使用gateway代替实际ip
      - gateway
    ports: #将端口暴露至宿主机的8089
      - "8089:80"
    networks:
      - myapp

启动docker-compose配置文件

bash 复制代码
docker-compose up -d
相关推荐
tryCbest7 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
缘的猿11 小时前
Docker 与 K8s 网络模型全解析
docker·容器·kubernetes
运维栈记12 小时前
使用Grafana监控K8S中的异常Pod
docker·kubernetes·grafana
东城绝神15 小时前
《Linux运维总结:基于X86_64+ARM64架构CPU使用docker-compose一键离线部署consul 1.21.5容器版集群》
linux·运维·docker·架构·consul
小醉你真好15 小时前
17、Centos9 安装 1Panel
linux·docker·运维开发
insight^tkk19 小时前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
江湖人称小鱼哥19 小时前
WSL + Docker 网络访问详解
网络·docker·容器·wsl
韩宏伟19 小时前
使用 Loki + Promtail + Grafana 实现 Docker 容器日志采集与可视化
docker·容器·grafana
JanelSirry21 小时前
微服务是不是一定要容器化(如 Docker)?我该怎么选
docker·微服务·架构
小屁不止是运维21 小时前
k8s问题详解1:k8s集群上传文件过大导致413 Request Entity Too Large(请求文件实体过大)
docker·容器·kubernetes