Criando uma rede e usando os containers pelo nome com Docker

Marcos
2 min readAug 9, 2021

--

Por padrão o docker cria uma rede que é utilizada por todos os containers usados em determinado ambiente. Nessa rede, cada container recebe um ip dinâmico. Além disso, essa rede default do docker permite apenas o uso de ips para buscar outros containers.

O que quero dizer com isso?

Veja esse desenho:

Para que o container 1 fale com o container 2 é necessário saber o ip. Descobrir o ip não é trabalhoso, com o comando docker inspect é fácil descobrir, mas também existe a opção de atribuir nomes a esses containers e procurá-los na rede pelos nomes.

Para isso ser possível deve-se criar uma rede. Exemplo de comando:

docker network create --driver bridge nome_nova_rede

É possível escolher o driver de rede através do parâmetro --driver nome_driver_rede.

Aqui usei o comando e criei uma rede:

Após criar a rede, basta usá-la junto com o comando docker run e dar nome ao container, exemplo:

docker run -it --name container01 --network nome_nova_rede -d -p 8080:3000 nome_imagem_usada

Usei o comando acima para criar um container que use essa rede:

E aqui inspecionei usando o comando docker inspect container01, que é o nome que dei:

Pronto, para configurações como url de banco de dados por exemplo, é possível usar o nome dado ao container utilizado na rede que foi criada.

--

--

Marcos
Marcos

Written by Marcos

I study software development and I love memes.

No responses yet