Docker-compose安装nacos+mysql极速方式,坑已经替你踩完了

Docker部署nacos+mysql
1.1 前置了解核心知识:
网络:保证容器在同一个网络通信,且使用内部端口(不需要使用外部映射端口)-大坑
比如我设置mysql的对外端口为3308,但是容器通信依然采用3306(容器内部通信)
1 创建网络

# 1. 停止现有容器,如果删除失败,看看是否有其他容器在使用
docker-compose down
# 2. 删除现有网络(如果存在)
docker network rm mynetwork
# 3. 创建新网络
docker network create mynetwork
# 4. 启动服务
docker-compose up -d
# 5.查看启动日志
docker-compose logs -f

2 部署
不需要其他配置,一个命令就够了,不需要看其他的了,都帮你踩坑踩完了
前置了解内容:
创建一个docker文件
docker-compose.yml
来吧直接上命令:

# 启动命令
docker-compose up -d
# 查看容器状态
docker-compose ps
# 查看日志
docker-compose logs -f

文件内容

version: '3'
services:
  mysql:
    image: mysql:8.0.20
    container_name: nacos_mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=nacos_config
      - MYSQL_ROOT_HOST=% # 客户连接权限
    command:
      --default-authentication-plugin=mysql_native_password # 客户连接权限
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci
    ports:
      - "3308:3306"
    networks:
      - mynetwork
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 3s
      retries: 10

  nacos:
    image: nacos/nacos-server:latest
    container_name: mynacos
    environment:
      - MODE=standalone
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_DATABASE_NUM=1
      - MYSQL_SERVICE_HOST=mysql # 容器ip
      - MYSQL_SERVICE_PORT=3306 # 使用容器内部端口 
      - MYSQL_SERVICE_DB_NAME=nacos_config # 创建nacos_config 数据库
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=root
      - JVM_XMS=512m
      - JVM_XMX=512m
      - JVM_XMN=256m
      - JVM_MS=64m
      - JVM_MMS=256m
    ports:
      - "8849:8848"
    networks:
      - mynetwork
    depends_on:
      mysql:
        condition: service_healthy

networks:
  mynetwork: # 自定义网络
    external: true

3 mysql验证
运行后先设置mysql

# 连接到 MySQL 检查数据库
docker exec -it nacos_mysql mysql -uroot -proot -e "SHOW DATABASES;"
# 检查用户权限
docker exec -it nacos_mysql mysql -uroot -proot -e "SELECT user,host FROM mysql.user;"

没有问题就导入nacos的数据-mysql-schema.sql
暂时无法在飞书文档外展示此内容
4 启动
重新启动nacos容器
前端查看
http://localhost:8849/nacos/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值