NCache Encaminhamento de porta Docker
O encaminhamento de porta ou mapeamento de porta do Docker redireciona uma solicitação de comunicação de uma combinação de endereço IP e número de porta para outra. O encaminhamento de porta expõe serviços a aplicativos fora da rede interna do host.
Aqui, o encaminhamento de porta permite remote client aplicativos para se conectar ao NCache servidores rodando dentro de containers Docker (rede interna do Docker).
Configuração de encaminhamento de porta Docker
Há alguns cenários onde você não pode acessar o NCache servidores rodando dentro de containers Docker diretamente. Você terá que mapear NCache portas dos contêineres para a rede da máquina host para acessibilidade. Além disso, você terá que configurar essas portas para o aplicativo cliente. A configuração para ambos é explicada abaixo:
Configurar o encaminhamento de porta em contêineres
Antes de prosseguir com o encaminhamento de porta do Docker, você precisa atribuir NCache endereços IP estáticos de contêineres. NCache servidores precisam ter endereços IP estáticos para se comunicarem entre si e com NCache clientes. Também, NCache servidores não são acessíveis ao NCache clientes se ambos não existirem na mesma rede ou sub-rede.
Etapa 1: criar uma rede Docker personalizada
Por padrão, o Docker atribui endereços IP dinâmicos aos contêineres. Portanto, se os contêineres tiverem que reiniciar ou a máquina host for reiniciada, os endereços IP dos contêineres poderão mudar. Para atribuir endereços IP estáticos a contêineres, uma rede personalizada do Docker é necessária.
O comando a seguir cria uma rede personalizada do Docker chamada nbrg com uma sub-rede e um gateway definidos:
docker network create --subnet=172.19.0.0/16 --gateway=172.19.0.1 nbrg
Etapa 2: criar NCache Contêineres e Mapa NCache Portas
Após a criação da rede personalizada do Docker, você pode atribuir NCache endereços IP estáticos de contêineres e mapa NCache portas dos contêineres para o host para acessibilidade.
Os comandos a seguir criam dois NCache Contêineres do Docker nomeados ncache-ent-servidor-01 e ncache-ent-servidor-02. Dois contêineres recebem endereços IP estáticos usando a rede Docker personalizada nbrg crie na última etapa. O NCache as portas de comunicação mapeiam dos contêineres para o host usando o Chave de encaixe -p:
docker run --name ncache-ent-server-01 --net nbrg --ip 172.19.0.11 -p 1250-1260:8250-8260 -p 1300-1400:8300-8400 -p 9801:9800 -itd alachisoft/ncache:latest-java
docker run --name ncache-ent-server-02 --net nbrg --ip 172.19.0.12 -p 2250-2260:8250-8260 -p 2300-2400:8300-8400 -p 9802:9800 -itd alachisoft/ncache:latest-java
Configurar o encaminhamento de porta Docker para aplicativo cliente
Depois de mapear as portas dos contêineres para o host, você também precisa refletir essa alteração para o aplicativo cliente. O cliente.ncconf arquivo usa o aplicativo cliente para estabelecer uma conexão com o NCache servidores. Você precisa mapear as portas e os endereços IP neste arquivo.
O seguinte é um cliente.ncconf configuração de arquivo onde as portas são mapeadas com os contêineres (NCache servidores) ncache-ent-servidor-01 e ncache-ent-servidor-02, que foram criados anteriormente e estão hospedados no endereço IP público 20.200.20.212
:
<configuration>
<ncache-server connection-retries="1" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800"/>
<cache id="demoCache" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="True" enable-client-logs="False" log-level="error">
<server name="172.19.0.11"/>
<server name="172.19.0.12"/>
</cache>
<server-end-point>
<end-point public-ip="20.200.20.212" public-ports="9801" private-ip="172.19.0.11" private-ports="9800"/>
<end-point public-ip="20.200.20.212" public-ports="1250-1260" private-ip="172.19.0.11" private-ports="8250-8260"/>
<end-point public-ip="20.200.20.212" public-ports="1300-1400" private-ip="172.19.0.11" private-ports="8300-8400"/>
<end-point public-ip="20.200.20.212" public-ports="9802" private-ip="172.19.0.12" private-ports="9800"/>
<end-point public-ip="20.200.20.212" public-ports="2250-2260" private-ip="172.19.0.12" private-ports="8250-8260"/>
<end-point public-ip="20.200.20.212" public-ports="2300-2400" private-ip="172.19.0.12" private-ports="8300-8400"/>
</server-end-point>
</configuration>
Veja também
NCache Cenários de implantação do Docker
NCache Docker no Windows
NCache Docker no Linux