NCache Docker 端口转发
Docker 端口转发或端口映射将通信请求从一个 IP 地址和端口号组合重定向到另一个 IP 地址和端口号组合。端口转发将服务公开给主机内部网络外部的应用程序。
在这里,端口转发允许 remote client 应用程序连接到 NCache 在 Docker 容器内运行的服务器(内部 Docker 网络)。
Docker端口转发配置
有一些当您孩子因疼痛而呕吐的 情景 您无法访问的地方 NCache 直接在 Docker 容器内运行的服务器。 你必须绘制地图 NCache 港口 从容器到主机网络的可访问性。 此外,您还必须为客户端应用程序配置这些端口。 两者的配置解释如下:
在容器中配置端口转发
在继续进行 docker 端口转发之前,您需要分配 NCache 容器静态 IP 地址。 NCache 服务器需要具有静态 IP 地址才能相互通信并与 NCache 客户。 还, NCache 服务器无法访问 NCache 如果两者都不存在于同一网络或子网上,则为客户端。
第 1 步:创建自定义 Docker 网络
默认情况下,Docker 为容器分配动态 IP 地址。 因此,如果容器必须重新启动或主机重新启动,容器的 IP 地址可能会发生变化。 要分配容器静态 IP 地址, 需要自定义 Docker 网络.
以下命令创建一个名为 NBRG 定义了子网和网关:
docker network create --subnet=172.19.0.0/16 --gateway=172.19.0.1 nbrg
步骤2:建立 NCache 容器和地图 NCache 端口
创建自定义 Docker 网络后,您可以分配 NCache 容器静态 IP 地址和映射 NCache 港口 从容器到主机的可访问性。
以下命令创建两个 NCache 命名为 Docker 容器 ncache-ent-服务器-01 和 ncache-ent-服务器-02。使用自定义 Docker 网络为两个容器分配静态 IP 地址 NBRG 在最后一步创建。这 NCache 使用以下命令将通信端口从容器映射到主机 docker -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
为客户端应用程序配置 Docker 端口转发
将端口从容器映射到主机后,您还需要反映客户端应用程序的更改。 这 客户端.ncconf 文件使用客户端应用程序与 NCache 服务器。 您需要在此文件中映射端口和 IP 地址。
下面是一个 客户端.ncconf 文件配置,其中端口与容器映射(NCache 服务器) ncache-ent-服务器-01 和 ncache-ent-服务器-02,之前创建并托管在公共 IP 地址上 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>
参见
NCache Docker 部署场景
NCache Windows 上的 Docker
NCache Linux 上的 Docker