У меня есть небольшой проект Docker, который содержит сервер Nginx, 2 сервера базы данных (один локальный, один для тестов). Он генерирует веб -страницу, которую я получаю через http: // localhost: 8012/8012 - мой порт контейнера с сервером nginx.
В моей ide я могу подключиться к своей базе данных со следующими данными:
DB_SERVER=127.0.0.1
DB_USER=be_user
DB_PW=be_pw
DB_NAME=nice
HOST_DB_PORT=3312
< /code>
Я могу получить доступ к базе данных, создавать таблицы и наборы данных через соединение в IDE. try {
echo __METHOD__ . '|'.__LINE__." mysql:host=$host;port=$port;dbname=$db";
$this->_db = new PDO("mysql:host=$host;port=$port;dbname=$db", $username, $passwd);
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
< /code>
Эхо показывает следующее, что согласуется со значениями, показанными через XDebug:
MyClass::_initDb|44 mysql:host=127.0.0.1;port=3312;dbname=nice
Сообщение об исключении IST Это:
`Сообщение PHP: Fatal Forcal Error: Uncaught Exception: SQLState [Hy000] [2002] Соединение отказано в /var/www/inc/myclass.php:47' Скрипт? < /strong> < /p>
Я упускаю из виду что -то очевидное? Docker-compose.yaml: < /p>
services:
db:
image: mysql:8.0.35
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: on-failure
container_name: foo-db
volumes:
- ./volumes/db/dev:/var/lib/mysql:cached
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: nice
MYSQL_USER: be_user
MYSQL_PASSWORD: be_pw
INNODB_LOCK_WAIT_TIMEOUT: 10
ports:
- ${HOST_DB_PORT}:3306
db-test:
image: mysql:8.0.35
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: on-failure
container_name: foo-db-test
volumes:
- ./volumes/db/test:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: nice-test
MYSQL_USER: be_user
MYSQL_PASSWORD: be_pw
INNODB_LOCK_WAIT_TIMEOUT: 10
ports:
- ${HOST_TEST_DB_PORT}:3306
php-fpm:
build:
context: .
dockerfile: ./docker/php-fpm/Dockerfile
args:
- TIMEZONE=Europe/Berlin
- WITH_XDEBUG=true
container_name: foo-php-fpm
environment:
XDEBUG_CONFIG: "client_host=host.docker.internal discover_client_host=0 mode=debug start_with_request=yes client_port=9009"
PHP_IDE_CONFIG: "serverName=docker-server"
working_dir: /var/www
volumes:
- .:/var/www:cached
ports:
- ${HOST_WEB_PORT}:8080
links:
- db:db
networks:
default:
name: gut_network
Подробнее здесь: https://stackoverflow.com/questions/795 ... ith-docker
SQLState [Hy000] [2002] соединение отказалось от PDO с Docker [Duplicate] ⇐ MySql
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SQLSTATE[HY000] [2002] Соединение отклонено в Laravel Homestead Arch Linux
Anonymous » » в форуме Linux - 0 Ответы
- 69 Просмотры
-
Последнее сообщение Anonymous
-