Índice
Mapeamento detalhado da porta docker
1. Visão geral do mapeamento de portas:
2. Use -p para especificar a porta local a ser mapeada.
Local_Port:Container_Port, a porta especificada de qualquer endereço
Local_IP:Local_Port:Container_Port mapeia para a porta especificada no endereço especificado
3. Especifique o protocolo de transporte: TCP
Mapeamento detalhado da porta docker
1. Visão geral do mapeamento de portas:
No Docker, o contêiner não pode se comunicar com o exterior por padrão, é necessário adicionar os parâmetros correspondentes ao comando de inicialização para permitir que o contêiner se comunique com o mundo externo.
Ao executar um serviço da Web no Docker, é necessário mapear a porta do aplicativo de serviço da Web no contêiner para a porta do host local. Desta forma, se o usuário acessar a porta especificada pela máquina host, equivale a acessar a porta do serviço Web dentro do container.
2. Experiência de caso:
1. Opção -P, porta aleatória
Ao usar
[root@docker ~]# docker run -d -P --name nginx-test1 nginx
Use a porta docker para visualizar o mapeamento de portas
[root@docker ~]# porta docker nginx-test1
Teste de acesso: 192.168.100.131:32768
[root@docker ~]# docker logs nginx-test1
Exibir intervalos de portas aleatórias mapeadas
[root@docker ~]#
cat /proc/sys/net/ipv4/ip_local_port_range
2. Use -p para especificar a porta local a ser mapeada.
Local_Port:Container_Port, a porta especificada de qualquer endereço
O parâmetro de mapeamento de porta especifica que 8000 do host são mapeados para a porta 80 dentro do contêiner, e a opção -p pode ser usada várias vezes
[root@docker ~]# docker run -d -p 8000:80 --name nginx-test2 nginx
Teste de acesso: 192.168.100.131:8000
Esse método mapeará todos os endereços de interface e todos os visitantes poderão acessar o contêiner por meio de todas as portas IP do host.
Da seguinte forma: Visualize o endereço IP atual do host
Teste de acesso: 192.168.59.153:8000
Local_IP:Local_Port:Container_Port é mapeado para a porta especificada do endereço especificado
[root@docker ~]# docker run -d -p
192.168.100.131:9000:80 --name nginx-test3 nginx
Teste de acesso: 192.168.100.131:9000
Teste de acesso: 192.168.59.153:9000
Local_IP::Container_Port é mapeado para o endereço especificado, mas a porta do host é atribuída aleatoriamente
[root@docker ~]# docker run -d -p 192.168.100.131::80 --name nginx-test4 nginx
[root@docker ~]# porta docker nginx-test4
Teste de acesso: 192.168.100.131:32770
3. Especifique o protocolo de transporte: TCP
[root@docker ~]# docker run -d -p 80:80/tcp --name nginx-test5 nginx
[root@docker ~]# porta docker nginx-test5
Teste de acesso: 192.168.100.131:80