Wpis z mikrobloga

Cześć!
Próbują uruchomić przez Dockera aplikację napisaną w Symfony 2. Przy otwieraniu symfony.local/app_dev.php dostaję taki błąd:

CRITICAL - Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occured in driver: SQLSTATE[HY000] [2002] Connection timed out" at /var/www/symfony/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 103
#php #symfony #programowanie
  • 12
@mariecziek: Tak, jest 'up'. Jest to gotowa paczka dla symfony + mysql. Jak sprawdzić, czy mysql jest dostępny z kontenera php? Będąc w kontenerze php i wpisując 'mysql' nie rozpoznaje polecenia, ale to chyba normalne.
@ofkoz: Zrób "docker network ls". Wybierz sieć, w której powinny być obydwa kontenery, potem "docker network inspect [id lub nazwa tej sieci]" i sprawdź, czy obydwa kontenery są w sekcji "Containers". Jak są w tej samej sieci (poza bridge), to powinny się widzieć na zasadzie usług (php nie będzie widział polecenia mysql, ale będzie widział serwer mysql pod nazwą kontenera i portem pewnie 3306).
W .env mam konfigurację:

MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=database
MYSQL_USER=user
MYSQL_PASSWORD=user

Wchodzę do kontenera dockera, chce sie zalogować mysql -u user -p, podaje hasło i mam odmowe dostępu.
@ofkoz:

version: '3'
services:
postgres:
build: ./postgres
ports:
- "5432:5432"
environment:
POSTGRES_USER: dev
POSTGRES_PASSWORD: dev
networks:
postgres_external:
aliases:
- postgres_external
nginx:
build: ./nginx
ports:
- "80:80"
- "443:443"
php-fpm:
build: ./php

networks:
postgres_external:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.0.0.0/24

Tu jest mój config do NGINX + PHP-FPM + POSTGRES.

O ile dobrze pamiętam, to musisz zadeklarować network w kontenerze bazy, a następnie skonfigurować to. Weź sobie co potrzebujesz
Działa, dzięki wszystkim :)
Odpaliłem troche inną konfiguracje mysql na wersji 5.7, a nie 8. Do tego zrobiony restore bazy z dumpa i poszło. Czy można jakoś na stałe przypisać ip kontenerowi tak, żebym za każdym razem nie musiał w parameters.yml podawać nowego ip?

@mariecziek @CppPolska @pitu120