docker环境部署容器之间互通:Hyperf+MySQL

在docker中要使Hyperf和Mysql网络互通,则需要在创建相应容器的时候指定共享网络,步骤如下:

一、首先我们指定共享网络

docker network create --subnet 172.18.0.1/16 test   //整条命令复制执行就行不用改这个ip

二、创建hyperf命令

  docker run --name hyperf -v D:\hyperf2024\hyperf-skeleton:/data/project -p 9501:9501 --net=test  -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.11-swoole

 注意:其中的D:\目录 是你项目在windows10的磁盘文件,--net=test 是我们创建的共享网络,将hyperf的加入共享网络才能与后面的mysql,redis,kafka等进行通信。

三、创建MySQL命令

  docker run -itd --name mysql -p 3306:3306 --net=test -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

注意:mysql运行成功就能用navcat进行连接,账号默认root 密码 MYSQL_ROOT_PASSWORD指定的123456 ,--net=test 是我们创建的共享网络,将hyperf的加入共享网络才能与后面的mysql,redis,kafka等进行通信

navcat进行连接时配置信息如下,密码是你刚才创建mysql时指定的密码,这里IP地址使用127.0.0.1

 

四、查看内网容器ip,在hyperf数据库配置中配置数据库连接信息

docker inspect [container name] //来查看到内网地址

 直接翻到底部

 找到配置的内网ip :"Gateway": "172.18.0.1"  进行通信 端口是 docker run 3306:3306 指定的前面那个端口3306,在.env中配置如下

(密码是你前面创建mysql时指定的密码)

五、测试数据库

 浏览器输入地址, 运行Hyperf,即可发现数据库连接成功。

 

 

posted @ 2024-03-04 14:08  艾薇-Ivy  阅读(34)  评论(0编辑  收藏  举报