【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
相关推荐
engchina2 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
oMcLin6 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX3306 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat6 小时前
Docker详细介绍(6)
docker·容器·docker-compose
小Pawn爷10 小时前
4.镜像仓库
docker
江湖有缘11 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
礼拜天没时间.13 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
猫头虎13 小时前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
会周易的程序员14 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
小Pawn爷14 小时前
1.Docker基础
运维·docker·容器