RT,在 MAC 下,有两个容器,一个是 wordpress 的容器,另外一个是 mysql 的容器。 在宿主机( mac 本机)下单独访问都是没问题的。比如可以 127.0.0.1:8080 打开 wordpress 的安装页面,也可以通过 Navicat 连接打 mysql 数据库。
为了让两个容器互相通信,我做了如下事情:
-
由于官方不再推荐使用 --link 这种方式连接了,所以我建了一个自定义 docker network 比如
docker network create my-net -
让现有的容器连接到 dokcer 网络中,并且通过
docker network inspect my-net查看到,上面两个容器已经在同一个自定义网络里面了 -
为了测试自定义网段的容器是否可以相互通信,我另外创建了 busybox1 和 busybox2 两个容器,并连接到自定义网络,在 busybox1 容器中,运行 ping 命令,可以通过
ping busybox2主机名的方法 ping 通另外一台主机。 -
进入到 mysql 主机(mysql)中,设置了 mysql 的 root 登陆权限为 任意地址。
-
进入(映射文件夹) wordpress 容器中,并且修改了 wp-config.php 的数据库连接地址:
define( 'DB_NAME', 'wp_db' ); /** MySQL database username */ define( 'DB_USER', 'root' ); /** MySQL database password */ define( 'DB_PASSWORD', 'root' ); /** MySQL hostname */ define( 'DB_HOST', 'mysql' );