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

O que a opção -net = host no comando Docker realmente faz?
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 de contêiner, você pode executar esses contêineres em diferentes redes, como host, ponte ou redes definidas pelo usuário.

Este artigo elaborará o que “-net = host”A opção faz no comando Docker.

O que a opção "-net = host" faz no comando Docker?

O "-líquido"Opção na"Docker Run”O comando é utilizado para especificar a rede para o contêiner do docker. Por padrão, os contêineres estão em execução na rede de pontes. No entanto, o "-net = host”A opção pode ser utilizada para executar o contêiner na rede host. Dá 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 os contêineres em execução na rede padrão e a rede host, veja os exemplos listados:

  • Use o "Docker Run”Comando sem o“-Host net”Opção.
  • Use o "Docker Run”Comando com o“-Host net”Opção.

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, dê uma olhada no exemplo abaixo:

> Docker Network LS

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

Etapa 1: Faça um Dockerfile

Faça um DockerFile para recipiente o “Golang”Programar e colar as instruções fornecidas no arquivo:

De Golang: 1.8
Workdir/go/src/app
Cópia principal.ir .
Run Go Build -O WebServer .
Expor 8080: 8080
Cmd ["./servidor web"]

Etapa 2: Construa a imagem do Docker

Em seguida, gerar a imagem do Dockerfile com a ajuda do comando fornecido. O "-t”Opção no comando abaixo Especifica o nome da imagem:

> Docker Build -t go -img .

Etapa 3: Execute o recipiente do Docker

Utilize o “Docker Run”Comando para executar o contêiner na rede selecionada padrão. O "-d”A opção executa o contêiner no modo isolado:

> Docker Run -D Go -IMG

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

> Docker PS -A

Se a saída mostrar qualquer porta expondo como “TCP/”Isso significa que o contêiner está em execução 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”Isso significa que o contêiner está executando no host:

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

Como usar o comando "Docker Run" com a opção "-net-host"?

Para executar o contêiner na rede host, utilize o “-net = host”Opção como mostrado abaixo:

> Docker run -d - -net = host go -img

Para a verificação, liste todos os recipientes. 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:

> Docker PS -A

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

Conclusão

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