Соединение контейнеров
Для работы некоторых контейнеров бывает необходима дополнительная инфраструктура, которая может меняться, например для работы приложения adminer (позволяет администрировать базы данных SQL) необходима база данных, которая м.б. сделана на основе другого докер-контейнера и не обязана мыть mysql – она м.б. любой, например mariadb.
Рассмотрим как соединить 2 контейнера:
1-Создаем контейнер с mariadb (даем ему имя mysqlserver)
docker run –name mysqlserver -e MYSQL_ROOT_PASSWORD=123456 -d mariadb
2-Создаем контейнер с adminer, соединяем его с контейнером mysqldb и ссылкой “db”
docker run –link mysqlserver:db -p 8080:8080 adminer
Как это работает:
С помощью аргумента “–link mysqlserver:db” устанавливается соединение с базой данных
В контейнера adminer в файл etc/hosts будет добавлена запись ip-mysqlserver : db
существует еще способ publish services