使用docker desktop安装mysql,nacos

环境准备确认已安装docker desktop

1. mysql

1.1 拉取mysql镜像

可以执行命令docker pull mysql 或者指定版本 docker pull mysql:8.0.39

docker pull mysql
docker pull mysql:8.0.39

或者在docker desktop客户端搜索MySQL镜像,选择合适的版本(Tag),点击pull直接拉取
在这里插入图片描述

在这里插入图片描述
可以在desktop 客户端查看: Images
在这里插入图片描述
也可以在终端查看 docker images
在这里插入图片描述

1.2 启动 MySQL 容器

docker run --name my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v C:/tool/docker/mysql/data:/var/lib/mysql -d mysql:8.0.39 

--name my_mysql 指定容器名称为my_mysql
-p 3306:3306
-p <宿主机端口>:<容器端口> 设置宿主机与容器之间的端口映射
-e MYSQL_ROOT_PASSWORD=123456 指定初始化root账户密码为123456
-v C:/tool/docker/mysql/data:/var/lib/mysql
-v <宿主机目录>:<容器目录> 挂载数据卷(Volume),实现宿主机与容器之间的目录映射
-d 后台运行
mysql:8.0.39 指定要使用的镜像及其版本标签

docker ps  #查看容器的状态

在这里插入图片描述

2. nacos

2.1 拉取nacos镜像

docker pull nacos/nacos-server # 默认拉取latest版本
docker pull nacos/nacos-server:v2.3.0  # 指定版本

除了使用docker命令拉取镜像外,也可以在decker desktop 客户端获取,步骤和获取MySQL一样。

2.2 启动nacos容器

docker run --name my_nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849  -v C:/tool/docker/nacos/data:/home/nacos/data -d  nacos/nacos-server:v2.3.0

如果需要修改nacos配置文件(如修改数据库配置),可挂载 application.properties

-v C:/tool/docker/nacos/conf/application.properties:/home/nacos/conf/application.properties

如果修改为连接mysql数据库,可能有容器间通信问题,启动nacos容器会有下面错误。
在这里插入图片描述
在这里插入图片描述

java.lang.RuntimeException: [db-load-error]load jdbc.properties error
Could not create connection to database server. Attempted reconnect 3 times. Giving up.

3. docker 容器通信

1. 创建一个自定义网络

 docker network create --driver bridge --subnet=192.168.0.0/24 --gateway=192.168.0.1 subnetwork

subnetwork 自定义网络名
--driver 网络驱动
--gateway 网关地址
--subnet 表示网段的 CIDR 格式的子网
2. 给MySQL容器指定IP
移除旧的MySQL容器,更新启动命令,加入自定义网络参数和指定ip的参数, 确认IP地址在你自定义的ip区域内
--net subnetwork
--ip 192.168.0.3

docker run --name my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v C:/tool/docker/mysql/data:/var/lib/mysql -d mysql:8.0.39 --net subnetwork --ip 192.168.0.3

3. nacos连接指定IP的mysql
nacos容器启动增加自定义网络参数, properties文件中指定mysql的地址

docker run --name my_nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849  -v C:/tool/docker/nacos/data:/home/nacos/data -d  nacos/nacos-server:v2.3.0 --net subnetwork

db.url.0=jdbc:mysql://192.168.0.3:3306/nacos?..

在这里插入图片描述

### 如何在 Docker Desktop 中配置 Nacos 使用 MySQL 数据库 #### 准备工作 为了使 Nacos 能够连接并使用 MySQL 数据库,在开始前需确认已有一个正在运行的 MySQL 实例。可以通过如下命令来启动一个新的 MySQL 容器实例: ```bash docker run -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest ``` 这一步会创建一个名为 `mysql8` 的 MySQL 容器,并设置 root 用户密码为 "root"[^2]。 #### 获取 MySQL 容器 IP 地址 为了让后续操作更方便,可以先获取新创建的 MySQL 容器内部网络接口分配给它的 IP 地址。执行下面这条命令即可得到该地址: ```bash $MYSQL_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql8) echo $MYSQL_IP ``` 这里 `$MYSQL_IP` 变量存储的就是 MySQL 容器的实际 IP 地址。 #### 初始化 Nacos 库表结构 接下来要做的就是准备用于保存 Nacos 配置信息的数据表结构。通常情况下,官方提供了 SQL 文件可以直接导入到 MySQL 中完成初始化过程。如果是在本地环境中测试,则可手动登录 MySQL 执行相应的 DDL 和 DML 命令来构建所需的数据库对象。 #### 启动 Nacos 容器并与 MySQL 关联 现在有了可用的 MySQL 数据源之后就可以着手于启动 Nacos 服务端了。通过指定环境变量的方式告诉 Nacos 连接哪个外部数据库作为其持久层支持。具体做法如下所示: ```bash docker pull nacos/nacos-server docker run \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e DB_URL=jdbc:mysql://<your-mysql-ip>:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true \ -e DB_USER=nacos \ -e DB_PASSWORD=<password> \ -p 8848:8848 \ --name nacos-standalone \ -d nacos/nacos-server ``` 请注意替换 `<your-mysql-ip>` 和 `<password>` 成实际值。上述命令将会下载最新版本的 Nacos Server 映像文件,并以前台模式启动它;同时指定了几个重要的参数用来指示 Nacos 将采用独立模式 (standalone mode),并且应该链接至先前建立好的 MySQL 数据库实例上[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值