1、部署mysql
1.1 拉取mysql镜像
docker pull mysql: 8.0 .30
1.2 运行MySQL容器
docker run - itd -- name mysql- 8.0 .30
- v / data/ mysql/ data: / var / lib/ mysql
- v / data/ mysql/ conf: / etc/ mysql/ conf. d
- e MYSQL_ROOT_PASSWORD = 123456 #设置登录密码
- p 3306 : 3306
-- restart always mysql: 8.0 .30
-- default - authentication- plugin= mysql_native_password
2、部署nacos
2.1 拉镜像
docker pull nacos
2.2启动一个容器
docker run - d - p 8848 : 8848 -- name nacos1 440657d52bc3
2.3 把nacos的文件复制出来(为啥这样呢,因为nacos的conf目录下的文件只有cluster.conf映射出来了,其他的文件映射不出来,会导致跑不起来,具体原因我还要去研究研究)
- 创建一个目录,用来存放复制出来的文件
mkdir - p / root/ nacos
- 把文件复制出来
docker cp c1a39afb0d3a: / home/ nacos/ conf/ application. properties / root/ nacos
docker cp f3d6ab0cbde7: / home/ nacos/ conf/ mysql- schema. sql / root/ nacos
2.4进入mysql执行mysql-schema.sql文件
- 文件复制到mysql挂载出来的目录下
cp / root/ nacos/ mysql- schema. sql / var / lib/ mysql/ mysql- schema. sql
- 进入mysql容器
docker exec - it df8a99ad12b5 bash
- 登录mysql
mysql - uroot - p密码
- 创建数据库
create database nacos_config
- 选中数据库
use nacos_config
- 执行sql文件
source / var / lib/ mysql/ mysql- schema. sql
2.5修改application.properties(至于为啥修改呢,因为mysql我用的高版本,在启动的时候会报异常Nacos Server did not start because dumpservice bean construction failure :No DataSource set)
- 进入到application. properties
vim application. properties
- 修改连接驱动
看下图
2.4启动nacos
docker run
- e SPRING_DATASOURCE_PLATFORM = mysql
- e MYSQL_SERVICE_USER = root
- e MYSQL_SERVICE_PORT = 3306
- e MYSQL_SERVICE_PASSWORD = 密码
- e MYSQL_SERVICE_HOST = MySQL部署的服务器地址
- e MYSQL_SERVICE_DB_NAME = nacos_config
- p 8848 : 8848 - p 9848 : 9848
- d -- name= nacos 440657d52bc3
2.4成功