"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como conectar-se a um contêiner MySQL de outro contêiner no Docker?

Como conectar-se a um contêiner MySQL de outro contêiner no Docker?

Publicado em 2024-11-08
Navegar:778

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

Conectando-se a um contêiner MySQL de outro contêiner

Você configurou um contêiner Docker executando MySQL e expôs a porta 3306, mas como pode você acessa esse banco de dados de outro contêiner?

Usando endereço IP

Inicialmente, você tentou se conectar usando o MySQL endereço IP do contêiner (172.17.0.2). Embora isso funcione, não é ideal, pois os endereços IP podem mudar.

Redes definidas pelo usuário

Uma abordagem melhor é usar redes definidas pelo usuário para conectar contêineres. Você pode criar uma rede e anexar os contêineres MySQL e PHP a ela.

docker network create my_network

Linking Containers

Execute ambos os contêineres em a mesma rede, fornecendo o nome da rede usando o sinalizador --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

Dentro dos contêineres dessa rede, você pode resolver nomes de contêineres e conectar-se usando o nome do host. Por exemplo, a partir do contêiner PHP, você pode se conectar ao MySQL usando:

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

Conclusão

Redes definidas pelo usuário fornecem uma maneira mais robusta e flexível de conectar contêineres no Docker. Usar nomes de contêineres como nomes de host simplifica o acesso e elimina a necessidade de depender de endereços IP.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3