Попытка узнать Docker, у меня возникли проблемы с получением двух контейнеров, чтобы увидеть друг друга. При использовании файлов в формате docker-compose версии 2 я получаю ошибки, пытающиеся добраться до базы данных с передней стороны. Я пробовал то, что, как я думал, было бы надежным подходом - using the WordPress example straight from the Docker website. Используя этот точный пример, база данных не может быть найдена в контейнере wordpress. Это ошибка отображается:Docker создает контейнеры v2, не находя друг друга (хотя v1 делает)
Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22
Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22
MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not known
Я варил вниз к простому примеру, чтобы показать рабочую версию 1 файл и без рабочей версии 2 файла. Единственная разница между ними заключается в удалении номера версии и группировки «услуги».
Версия 1 докер-Compose файл, который делает работу
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=password
ports:
- "8080:80"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
Version 2 Докер-Compose, что не работает
version: '2'
services:
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=password
ports:
- "8080:80"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
Я на самом деле не пытается запустить WordPress с этими настройками, просто пытаясь понять, почему файл, создающий файл докеры, не работает, когда работает тот же файл, отформатированный как файл версии 1. Я попробовал много других приложений, которые подключаются к базе данных, и я не могу заставить их работать.
среда Я использую:
$ uname -a
Linux vir-docker 4.4.0-62-generiC#83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ docker -v
Docker version 1.13.1, build 092cba3
$ docker-compose -v
docker-compose version 1.11.1, build 7c5d5e4
Возможно, улучшена безопасность и/или сеть в версии 2. Вам также необходимо установить хост и порт MySQL для имени службы 'mysql'. – rocksteady
Пример на веб-сайте [docker] (https://docs.docker.com/compose/wordpress/) имеет набор хостов и портов MySQL, и даже это не работает. – justinvoelker
версия: «3» работает для меня ... но не 2 – user672009