我正在使用Docker for Mac。我有两个容器。
第一个:尝试连接到localhost:3306到MySQL的PHP应用程序。
第二名: MySQL
当使用链接运行时,它们能够相互联系。
但是,我希望避免更改PHP应用程序中的任何代码(例如,将localhost更改为"mysql"),而继续使用localhost。
主机网络似乎做到了这一点,问题是,当我启用主机网络时,我无法访问主机mac上端口80上的PHP应用程序。
如果我将exec -it停靠到php应用程序中并curl localhost,我会看到-it,所以看起来端口只是没有转发到主机?
发布于 2016-06-29 22:23:47
这是docker-compose的一个示例,它在一个容器中运行mysql,在另一个容器中运行phpmyadmin。这些容器链接在一起,您可以通过主机在端口3316和8889上访问这些容器
my_mysql:
image: mysql/mysql-server:latest
container_name: my_mysql
environment:
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_DATABASE=test
- MYSQL_USER=test
- MYSQL_PASSWORD=test
ports:
- 3316:3306
restart: always
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: my_myadmin
links:
- my_mysql:my_mysql
environment:
- PMA_ARBITRARY=0
- PMA_HOST=my_mysql
ports:
- 8889:80
restart: alwayshttps://stackoverflow.com/questions/38102083
复制相似问题