1创建自定义网络(用于容器通讯)
docker network create common-network
1.1查看网络
docker network ls
2安装mysql
在宿主机创建文件夹,后续会挂载到docker虚拟机
//mysql配置文件
mkdir -p /data/mysql/conf
//mysql数据文件路径
mkdir –p /data/mysql/data
//日志文件路径
mkdir -p /data/mysql/logs
【linux】下拉取镜像并启动
docker run -p 3306:3306 --name mysql -d \
--restart=always \
--network common-network \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/data \
-e MYSQL_ROOT_PASSWORD=admin \
mysql:5.7
【window】下拉取镜像并启动
-v 后边跟的是window硬盘目录挂载到虚拟镜像目录
window目录E:\ 用/e/代替
docker run -p 3306:3306 --name mysql -d ^
--restart=always ^
--network common-network ^
-v /e/YuanMa/dockerApp/nacos-mysql/mysql/data/mysql/conf:/etc/mysql/conf.d ^
-v /e/YuanMa/dockerApp/nacos-mysql/mysql/data/mysql/logs:/logs ^
-v /e/YuanMa/dockerApp/nacos-mysql/mysql/data/mysql/data:/data ^
-e MYSQL_ROOT_PASSWORD=admin ^
mysql:5.7
docker 安装nacos
安装nacos方式1
拉取镜像
docker pull nacos/nacos-server
//查询nacos镜像有哪些版本。没合适的可以往下看
docker search nacos
//拉取镜像
docker pull nacos/nacos-server
//查看镜像
docker images
- 启动nacos容器
docker run --network common-network --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
- 查看启动的容器
docker ps
nacos 配置连接数据库
- 查看自定义网络中各容器ip
//查看网络
docker network ls
//查看网络容器
docker network inspect common-network
- 进入nacos容器修改配置
// 进入容器
docker exec -it nacos bash #docker exec -it 容器ID /bin/bash
// 修改容器配置
cd conf
vi application.properties
- 创建数据库表(脚本地址)
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
- 重启容器
docker restart nacos
- nacos管理平台(新增配置 ,然后可在数据库查看)
http://ip:8848/nacos
(用户名密码都是nacos)
安装nacos方式2
拉镜像,版本查看:https://github.com/nacos-group/nacos-docker
docker pull nacos/nacos-server:1.1.4 //稳定版,无权限
docker pull nacos/nacos-server:1.3.1 //稳定版,有权限
创建数据目录
mkdir -p /home/dockerdata/nacos/logs
mkdir -p /home/dockerdata/nacos1.3.1/logs
运行镜像 默认账号密码:nacos:nacos
执行docker run 需要把斜杠 去掉。
1.1.4
配置默认的数据库信息
docker run -d \
-e PREFER_HOST_MODE=ip
-e MODE=standalone
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_MASTER_SERVICE_HOST=172.168.1.33
-e MYSQL_MASTER_SERVICE_PORT=3306
-e MYSQL_MASTER_SERVICE_USER=root
-e MYSQL_MASTER_SERVICE_PASSWORD=root
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos
-e MYSQL_SLAVE_SERVICE_HOST=172.168.1.33
-e MYSQL_SLAVE_SERVICE_PORT=3306
-v /home/dockerdata/nacos/logs:/home/nacos/logs
-p 8848:8848
--name nacos
--restart=always
nacos/nacos-server:1.1.4
1.3.1
docker run -d \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.168.1.33 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e TIME_ZONE='Asia/Shanghai' \
-v /home/dockerdata/nacos1.3.1/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos1.3.1 \
--restart=always \
nacos/nacos-server:1.3.1
nacos初始化sql,需要先创建nacos数据库后,然后执行下面的sql
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
View Code
1.1.4 升级1.3.1需要执行的脚本
ALTER TABLE `roles` ADD UNIQUE `uk_username_role` (`username`, `role`); CREATE TABLE permissions (
role varchar(50) NOT NULL,
resource varchar(512) NOT NULL,
action varchar(8) NOT NULL, constraint uk_role_permission UNIQUE (role,resource,action)
) ROW_FORMAT=DYNAMIC;
如果启动1.3.1报错,比如mysql时区异常,把conf配置文件弄到主机上
docker cp nacos1.3.1:/home/nacos/conf /home/dockerdata/nacos1.3.1
修改mysql的配置后
docker stop nacos1.3.1
docker rm nacos1.3.1
docker run -d \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.168.1.33 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e TIME_ZONE='Asia/Shanghai' \
-v /home/dockerdata/nacos1.3.1/logs:/home/nacos/logs \
-v /home/dockerdata/nacos1.3.1/conf:/home/nacos/conf \
-p 8848:8848 \
--name nacos1.3.1 \
--restart=always \
nacos/nacos-server:1.3.1