У меня проблема, аналогичная Выполнить MySQL на порту 3307 с использованием Docker Составить , но либо я не вижу дрова для деревьев, либо решение здесь не работает.
У меня есть следующий docker -compose.yml файл:
version: '3'
services:
db:
image: mysql:5.7
container_name: squirrels_db
volumes:
- db_data:/var/lib/docker/volumes/squirrels_db_data/_data
restart: always
ports:
# <Port exposed> : <MySQL Port running inside container>
- 3310:3306
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: mydb_user
MYSQL_PASSWORD: password
volumes:
- ./var/lib/docker/volumes/squirrels_db_data/_data
networks:
internal-net:
ipv4_address: 172.29.0.11
wordpress:
image: wordpress:latest
container_name: squirrels_web
depends_on:
- db
ports:
- 8000:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: mydb_user
WORDPRESS_DB_NAME: mydb_name
WORDPRESS_DB_PASSWORD: password
volumes:
- ./data/wp_content:/var/www/html/wp-content
- ./config/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
networks:
nginx-proxy:
internal-net:
ipv4_address: 172.29.0.12
# Names our volume
volumes:
db:
networks:
nginx-proxy:
external:
name: nginx-proxy
internal-net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.29.0.0/16
Примечание : я изменил здесь имена пользователей и пароли и в итоге получу их в файле .env
Когда я нажимаю http://localhost: 8000 Я вижу сообщение WordPress «Ошибка при установлении соединения с базой данных» и следующее в журнале (из docker -составить журналы):
PHP Предупреждение: mysqli :: __ construct (): (HY000 / 2002): соединение отклонено в стандартном коде ввода в строке 22 * 1029 * Ошибка соединения: (2002) Соединение отклонено
Это теперь официально сводит меня с ума, совсем не помогает, просто зная, что я упускаю что-то очевидное! Итак, любые замечания или предложения с благодарностью получили
Спасибо