注意
如果你使用自定义数据库, 第一次启动Nacos前需要手动初始化
数据库脚本
.
下载
1. 下载Nacos
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
2. 修改网络
3.1 创建Nacos默认的网络 example_default ,将MySQL容器的网络连接过来。
docker network create example_default
docker network connect example_default mysql_container
3.2 然后查看mysql_container容器在example_default里的ip是多少
# Linux
docker inspect mysql | grep IPAddress
#Windows
docker inspect mysql | findstr IPAddress
3.修改连接MySQL的IP
找到
/env/nacos-standlone-mysql.env
文件,将上面inspect查看到的ip替换到
MYSQL_SERVICE_HOST
的值。
PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=172.18.0.3
MYSQL_SERVICE_DB_NAME=nacos_devtest
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=root
# 我这里加了serverTimezone时区,如果不加有可能会出现连接错误
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC
4.启动容器文件
从官网中下载的文件,找到
nacos-docker\example\standalone-mysql-8.yaml
,去掉mysql的容器
version: "2"
services:
nacos:
image: nacos/nacos-server:${NACOS_VERSION}
container_name: nacos-standalone-mysql
env_file:
- ../env/nacos-standlone-mysql.env
volumes:
- ./standalone-logs/:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9848:9848"
- "9555:9555"
depends_on:
# 这里要和自己MySQL容器名称相同
- mysql80
restart: on-failure
# 因为自定义MySQL,所以注释掉
# mysql:
# container_name: mysql
# image: nacos/nacos-mysql:8.0.16
# env_file:
# - ../env/mysql.env
# volumes:
# - ./mysql:/var/lib/mysql
# ports:
# - "3306:3306"
5. 创建数据表,然后启动容器
初始化数据表
,然后启动容器
docker-compose -f example/standalone-mysql-8.yaml up
版权声明:本文为Aaren_Jiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。