本文是基于docker环境安装数据库和nacos, 因为nacos 需要访问数据库。 而默认的docker0 网络下是不允许指定ip的。所以先创建网络
1 自定义docker 网络
docker network create --driver bridge --subnet=172.18.12.0/24 --gateway=172.18.12.1 mynet
2 首先安装mysql
docker run -p 33060:3306 --name mysql \
--network=mynet \
--ip 172.18.12.3 \
-e TZ="Asia/Shanghai" \
-v ${PWD}/conf:/etc/mysql/conf.d \
-v ${PWD}/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
3 创建 nacos 数据库并初始化相关表结构
nacos-mysql.sql 表结构相关内容,具体参考
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
docker exec -i mysql mysql -uroot -proot -e "create database nacos"
## 特别注意导入文件,必须要指定-i,交互式
docker exec -i mysql mysql -uroot -proot nacos < nacos-mysql.sql
4 创建nacos服务
docker run -d \
--network=mynet \
--ip 172.18.12.2 \
-e TZ="Asia/Shanghai" \
--name nacos \
-p 8848:8848 \
--privileged=true \
--restart=always \
-v ${PWD}/data:/home/nacos/data \
-v ${PWD}/logs:/home/nacos/logs \
-e JVM_XMS=256m -e JVM_XMX=256m \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=172.18.12.3 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MODE=standalone nacos/nacos-server
最后访问地址,能访问就是成功了
http://IP:8848/nacos/index.html