首页 > 数据库 >docker环境部署容器之间互通:Hyperf+MySQL

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

时间:2024-03-04 14:12:44浏览次数:33  
标签:-- MySQL Hyperf test hyperf mysql 3306 docker

在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,即可发现数据库连接成功。

 

 

标签:--,MySQL,Hyperf,test,hyperf,mysql,3306,docker
From: https://www.cnblogs.com/ivy-zheng/p/18051705

相关文章

  • MySQL index and dead lock
    MySQL        Analyze:step1.Thread(test1)use"selectforupdate"lockcommonageindexinrange(10,30]step 2.Thread(test2)use"selectforupdate"lockcommonageindexinrange(40,60]step 3.Thread(test2)trytoi......
  • mysqldump: Error: Binlogging on server not active
    1.问题今天在备份数据库时遇到问题,提示二进制日志尚未开启,无法使用--master-data=2选项2.解决启用二进制日志记录,打开MySQL配置文件(通常是my.cnf或my.ini),添加以下选项即可。保存并重新启动MySQL服务器#开启二进制日志binloglog-bin=mysql-bin#开启Binlog一般只需......
  • Docker容器构建
    弊端:镜像的使用者不知道镜像构建细节镜像的构建者忘记构建的细节需要手动操作一、使用Dockerfile来定制镜像1.编写DockerfileDockerfile是一个文本文件,用以说明镜像的构建步骤,通过dockerbuild命令进行自动的构建举个例子FROMubuntu:18.04COPYa.txt/a.txtRUNec......
  • MySQL 查找并删除重复行
    本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysqlIRC频道问到的问题)如何查找重复行第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一......
  • RDS for MySQL Serverless公测上线:弹性伸缩,最高可降成本超80%
    本文分享自华为云社区《RDSforMySQLServerless公测上线:弹性伸缩,最高可降成本超80%》,作者:GaussDB数据库。随着科技的快速发展,我们正在迅速步入一个全新的数字化时代。数字化时代,数据是最宝贵的资源。数据库作为存储数据的仓库,重要性更是不言而喻。一、业务背景及痛点为了确......
  • mysql安装
    一、环境配置检测系统是否自带Mysql#rmp-qa|grepmysql如果有进行强行卸载#rpm-e--nodepsmysql-libs-5.1.52-1.el6_0.1.x86_64检测系统是否自带mariadb#rpm-qa|grepmariadb#rpm-e--nodepsmariadb-libs-5.5.64-1.el7.x86_64#rpm-e--nodepsmariadb-5.5.64-1.el7......
  • 在Docker中,网络模式有哪些?
    在Docker中,网络模式是用来定义容器如何与宿主机和其他容器进行网络通信的。以下是Docker中常见的网络模式及其详细解释:Bridge模式(桥接模式):这是Docker的默认网络模式。当创建一个容器时,Docker会为其分配一个独立的网络命名空间,并在宿主机上创建一个虚拟网桥(默认为docker0),容器......
  • 在Docker中,资源限制原理是什么?
    在Docker中,资源限制主要是通过Linux内核的ControlGroups(cgroups)和Namespaces技术来实现的。1.ControlGroups(cgroups)cgroups是Linux内核的一个特性,它提供了一种机制来限制、记录、隔离进程组使用的物理资源(如CPU、内存、磁盘I/O等)。当Docker创建一个容器时,它会为该......
  • 在Docker中,docker run cmd entrypoint 有什么区别?
    在Docker中,dockerrun、CMD和ENTRYPOINT是相互关联又各有不同的概念,它们都涉及到如何配置和启动容器。下面详细介绍它们的区别和联系:dockerrundockerrun是Docker客户端命令,用于创建一个新的容器并运行其中的应用程序。当你执行dockerrun时,你可以指定一系列参数,如......
  • MySQL查看执行慢的SQL语句(慢查询)
    更新日志点击查看2024年3月4日发布。慢查询日志查看执行慢的SQL语句,需要先开启慢查询日志。MySQL的慢查询日志,记录在MySQL中响应时间超过阀值的语句(具体指运行时间超过long_query_time值的SQL。long_query_time的默认值为10,意思是运行10秒以上(不含10秒)的语句)。......