O que a opção “–net=host” no comando Docker realmente faz?

O Que A Opcao Net Host No Comando Docker Realmente Faz



O Docker é um fórum de código aberto e bem estabelecido que é frequentemente usado para criar, executar e distribuir aplicativos em contêineres. Os contêineres são pacotes executáveis ​​que encapsulam as dependências e o código do aplicativo. Para implantar o aplicativo conteinerizado, você pode executar esses contêineres em diferentes redes, como host, ponte ou redes definidas pelo usuário.

Este artigo irá detalhar o que o “ –net=host ” faz no comando Docker.

O que a opção “–net=host” faz no comando Docker?

O ' -líquido ” na opção “ docker run ” é utilizado para especificar a rede para o contêiner do Docker. Por padrão, os contêineres são executados na rede de ponte. No entanto, o ' –net=host ” pode ser utilizada para executar o contêiner na rede host. Ele fornece ao contêiner do Docker mais acesso à rede do que normalmente teria.







Como executar o comando “docker run” com e sem a opção “–net=host”?

Para verificar a diferença entre contêineres em execução na rede padrão e na rede host, observe os exemplos listados:



Como usar o comando “docker run” sem a opção “–net-host”?

Por padrão, a plataforma Docker fornece três redes: “ ponte ”, “ hospedar ', e ' nenhum ”. Para listar todas as redes, veja o exemplo abaixo:



> rede docker ls





Quando o contêiner é executado sem especificar nenhuma rede, por padrão, ele usará a rede de ponte. Para a demonstração, confira as etapas abaixo.

Passo 1: Faça um Dockerfile

Faça um Dockerfile para conteinerizar o “ golang ” programa e cole as instruções dadas no arquivo:



DE golang: 1.8

WORKDIR / ir / origem / aplicativo

COPIAR main.go .

CORRE vai construir -o servidor web .

EXPOR 8080 : 8080

CMD [ './servidor web' ]

Etapa 2: criar imagem do Docker

Em seguida, gere a imagem do Dockerfile com a ajuda do comando fornecido. O ' -t ” no comando abaixo especifica o nome da imagem:

> compilação do docker -t go-img .

Passo 3: Executar o Docker Container

Utilize o “ docker run ” para executar o contêiner na rede selecionada padrão. O ' -d ” opção executa o contêiner no modo desanexado:

> docker run -d go-img

Agora, liste o container e verifique se o container é executado na rede padrão ou não:

> janela de encaixe PS -a

Se a saída mostrar qualquer porta de exposição como “ tcp/ ” significa que o contêiner está sendo executado em alguma rede padrão e se não houver saída em “ portas ” coluna ou saída como “ 0.0.0.0:8080→8080/tcp ” significa que o contêiner está sendo executado no host:

Na saída acima, você pode ver que nosso contêiner está sendo executado na rede padrão selecionada “ ponte ”.

Como usar o comando “docker run” com a opção “–net-host”?

Para executar o contêiner na rede host, utilize o comando “ –net=host ” como mostrado abaixo:

> docker run -d --líquido =host go-img

Para a verificação, liste todos os contêineres. Aqui, nenhuma saída é mostrada no “ portas ” coluna, o que significa que nosso contêiner está processando na rede host e pode ser acessado em qualquer porta da rede host:

> janela de encaixe PS -a

Isso é tudo sobre o que o “ –net=host ” faz e como usá-la no Docker.

Conclusão

O ' –net=host ” é utilizada para executar o contêiner do Docker na rede do host. Se esta opção não for especificada no “ docker run ” comando, seu contêiner médio será executado na rede de ponte. Para executar o contêiner no host, utilize o comando “ docker run –net=opção ” comando. Este artigo demonstrou o que o “ –net=host ” faz no comando Docker.