Mysql находится в собственном файле docker-compose.yml, так как мне нужен работающий сервер MySQL, к которому может подключиться любое другое приложение php. Так что у меня нет php и mysql в одном docker-compose.yml. Из приложения php я могу подключиться к MySQL, если использую IP-адрес шлюза контейнера MySQL, найдя его, а затем жестко закодировав его в приложении php. докер проверяет mysql-db. Но докер будет менять этот 172... IP-адрес каждый раз при перезапуске MySQL, так что это не идеально для разработки.
Я могу подключиться к MySQL через mysql -h 127.0.0.1 нет проблем, но если я попытаюсь использовать 127.0.0.1 из приложения php, мне будет отказано в соединении. Я могу подключиться только в том случае, если использую IP-адрес шлюза 172....
Как мне заставить контейнер MySQL прослушивать соединения от хоста к 127.0.0.1?< /p>
docker-compose.yml для mysql
version: "3"
services:
mysql:
container_name: mysql-db
image: mysql
build:
dockerfile: Dockerfile
context: ./server/mysql
environment:
- MYSQL_ROOT_PASSWORD=admin
volumes:
- ./data/mysql:/var/lib/mysql
ports:
- 3306:3306
docker-compose.yml для php
version: "3"
services:
nginx:
container_name: nginx_myapp
image: nginx
build:
dockerfile: Dockerfile
context: ./server/nginx
ports:
- 80:80
- 443:443
volumes:
- ./app:/var/www/html
networks:
- myapp
php:
container_name: php_myapp
image: php:7.3-fpm
build:
dockerfile: Dockerfile
context: ./server/php-fpm
environment:
CI_ENV: development
volumes:
- ./app:/var/www/html
networks:
- myapp
networks:
myapp:
Подробнее здесь: https://stackoverflow.com/questions/602 ... -127-0-0-1
Приложение PHP не может подключиться к контейнеру Docker MySQL по адресу 127.0.0.1 ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение