参考 docker-compose 搭建 nocos 服务-CSDN博客
安装 MySQL
创建网络
# 创建网络,让 mysql 和 nacos 都包含到这个网络中,这样就可以容器互联了,使得在 nacos 可以 ping 通 mysql,如下图
docker network create mysql_network
# 查看创建的 network
docker network ls
下载镜像启动容器
docker pull mysql:5.6
# 使用刚创建的 mysql_network
docker run -d --name mysql --net mysql_network -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 --restart=always mysql:5.6
# 查看容器ip地址,在nocos启动的时候需要用到
# docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
创建nocos数据库,添加表
nacos/distribution/conf/mysql-schema.sql at master · alibaba/nacos · GitHub
安装 nocos
下载镜像启动容器
docker pull nacos/nacos-server:v2.1.1
# MYSQL_SERVICE_HOST 可以使用 inspect 的 ip,但是 docker 默认情况下每次启动都会更换 ip,这样不方便
# 也可以使用 --link mysql 连接到刚才创建的 mysql 容器,--link 功能已在较新版本的 Docker 中被推荐使用网络模式如 docker network 替代
# 所以最终使用 --net mysql_network 连接到刚才创建的 mysql 容器,对应的配置 MYSQL_SERVICE_HOST=mysql,这里的 mysql 相当于是一个域名
docker run -it --net mysql_network -e PREFER_HOST_MODE=ip -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=mysql -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -p 8848:8848 --name nacos --restart=always nacos/nacos-server:v2.1.1
访问地址
用户名密码都是 nacos
然后导入数据
遇到问题
https://www.cnblogs.com/meidanlong/p/17986598
使用docker run命令创建容器时没有添加参数 --restart=always ,导致的后果是:当 Docker 重启时,容器未能自动启动,已经运行的容器添加restart参数
docker update --restart=always 容器名字或者容器ID