У меня есть небольшой проект 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
Форум по Mysql
1745426046
Anonymous
У меня есть небольшой проект 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
Подробнее здесь: [url]https://stackoverflow.com/questions/79589074/sqlstatehy000-2002-connection-refused-pdo-with-docker[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия