«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как подключиться к контейнеру MySQL из другого контейнера в Docker?

Как подключиться к контейнеру MySQL из другого контейнера в Docker?

Опубликовано 8 ноября 2024 г.
Просматривать:366

How to Connect to a MySQL Container from Another Container in Docker?

Подключение к контейнеру MySQL из другого контейнера

Вы настроили Docker-контейнер, на котором работает MySQL, и открыли порт 3306, но как это сделать? вы получаете доступ к этой базе данных из другого контейнера?

Используя IP Адрес

Первоначально вы пытались подключиться, используя IP-адрес контейнера MySQL (172.17.0.2). Хотя это работает, это не идеально, поскольку IP-адреса могут меняться.

Пользовательские сети

Лучшим подходом является использование определяемых пользователем сетей для подключения контейнеров. Вы можете создать сеть и подключить к ней контейнеры MySQL и PHP.

docker network create my_network

Связывание контейнеров

Запустите оба контейнера на той же сети, указав имя сети с помощью флага --network:

docker run -d --name php_container --network my_network my_php_image
docker run -d --name mysql_container --network my_network my_mysql_image

Внутри контейнеров в этой сети вы можете разрешать имена контейнеров и подключаться, используя имя хоста. Например, из PHP-контейнера вы можете подключиться к MySQL, используя:

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");

Заключение

Пользовательские сети предоставляют более надежный и гибкий способ подключения контейнеров в Docker. Использование имен контейнеров в качестве имен хостов упрощает доступ и устраняет необходимость полагаться на IP-адреса.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3