Product Documentation

在 Docker 中部署 NetScaler CPX 实例

2016 年 12 月 28 日

NetScaler CPX 以 Docker 映像文件的方式在 Docker App Store 中提供。您需要从 Docker App Store 中下载 NetScaler CPX 映像,然后使用 docker run 命令或使用 Docker Compose 工具来部署 NetScaler CPX 实例。

必备条件

请确保:

从 Docker App Store 下载 NetScaler CPX 映像

从 Docker App Store 下载 NetScaler CPX Docker 映像。为此,请运行以下命令:

docker pull store/citrix/netscalercpx:11.1-53.11

下载 NetScaler CPX Docker 映像后,可以使用以下命令来查看映像的详细信息:

docker images

例如:

root@ubuntu:~# docker images
REPOSITORY    TAG       IMAGE ID       CREATED    VIRTUAL SIZE
   cpx     11.1-53.11  2e97aadf918b  43 hours ago  605.5 MB

在此示例中,注意输出中的以下字段:

  • REPOSITORY。指定存储映像的命名空间。
  • TAG。指示安装的 NetScaler CPX 映像版本。
  • IMAGE ID。指示 Docker 主机中映像的唯一 ID。

使用 docker run 命令部署 NetScaler CPX 实例

在主机上,加载 NetScaler CPX 映像后,使用 docker run 命令部署 NetScaler CPX 实例,为了能够进行外部通信,必须打开以下端口:HTTP 端口 80、SSH 端口 22 和 SNMP 端口 161。此外,还请务必从您的 Docker 主机装载目录。

如果已从 https://www.citrix.com/products/netscaler-adc/cpx-express.html 下载 NetScaler CPX Express,请务必阅读并理解此处提供的最终用户许可协议 (EULA):https://www.citrix.com/products/netscaler-adc/cpx-express.html,并在部署 NetScaler CPX 实例时接受 EULA。

docker run -dt -p <port_number> --privileged=true -e EULA=yes --name <container_name> -v <host_directory_path>:/cpx --ulimit core=-1 cpx:11.1-52.x

其中:

  • ** 是用于建立外部通信的端口号。
  • ** 为 NetScaler CPX 实例的名称。
  • <host_directory_path> 指示 Docker 主机上要为 NetScaler CPX 实例装载的目录。
docker run -dt -p 22 -p 80 -p 161/udp --privileged=true -e EULA=yes --name mycpx -v /var/cpx:/cpx --ulimit core=-1 cpx:11.1-52.x

如果已购买许可证或具有评估版许可证,可以将许可证上载到许可证服务器,并在 docker run 命令中指定许可证服务器的位置。在这种情况下,不必接受 EULA。

docker run -dt -p 80 -p 22 -e LS_IP=<LS_IP_ADDRESS> -e LS_PORT=<LS_PORT> -e PLATFORM=CP1000 --name=<NAME> --hostname=<HOSTNAME> --privileged=true -v <host_directory_path>:/cpx --ulimit core=-1 <repository>:<tag>

其中:

  • LS_IPADDRESS 为许可证服务器的 IP 地址。
  • LS_PORT 为许可证服务器的端口。
  • NAME 为容器的名称。
  • HOSTNAME 为容器的主机名。
docker run -dt -p 80 -p 22 -e LS_IP=1.2.3.4 -e LS_PORT=27000 -e PLATFORM=CP1000 --name=test --hostname=testhost --privileged=true -v /var/cpx:/cpx--ulimit core=-1 cpx:11.1.52.x

可以使用以下命令来查看您的系统上运行的映像以及映射到标准端口的端口:docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fe01203e7b9 cpx:11.1-53.x "/bin/sh -c 'bash -C " 7 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:32769->22/tcp, 0.0.0.0:32768->80/tcp, 0.0.0.0:32768->161/udp mycpx

使用 Docker Compose 部署 NetScaler CPX 实例

可以使用 Docker Compose 工具来置备一个 NetScaler CPX 实例或多个 NetScaler CPX 实例。要使用 Compose 来置备 NetScaler CPX 实例,必须先准备好编写文件,在其中指定 NetScaler CPX 映像、要为 NetScaler CPX 实例打开的端口以及针对您的 NetScaler CPX 实例的权限。

要置备多个 NetScaler CPX 实例,请执行以下操作:

  1. 准备编写文件。编写文件的格式通常类似于:

     <service-name>:
         container_name:
         image: <repository>:<tag>
         ports:
             - 22
             - 80
         tty: true
         privileged: true
         ulimits:
         core: -1
         environment:
             - EULA=yes
         volumes:
             - <host_directory_path>:/cpx
    

    其中:

    • <service-name> 是要置备的服务的名称。
    • image:<repository>:<tag> 指示 NetScaler CPX 映像的存储库和版本。
    • privileged: true 提供对 NetScaler CPX 实例的所有 root 权限。
    • <host_directory_path> 指示 Docker 主机上要为 NetScaler CPX 实例装载的目录。

    示例 compose 文件:

     cpx_DUT-BRIDGE_0:
     container_name: cpx_DUT-BRIDGE_0_my
     image: cpx:11.1-52.xx
     ports:
         - 22
         - 80
     tty: true
     privileged: true
     ulimits:
         core: -1
     environment:
         - EULA=yes
     volumes:
         - /var/cpx:/cpx
    

    注意

    如果要置备一个 NetScaler CPX 实例,必须将以下行添加到 compose 文件中:

    **container_name:**

  2. 运行以下命令置备多个 NetScaler CPX 实例:

     docker-compose -f <compose_file_name> scale <service-name>=<number of instances> up –d
    
     docker-compose -f docker-compose.yml scale cpxlb=3 up –d
    

    注意

    如果要置备一个 NetScaler CPX 实例,请运行以下命令:

    docker-compose -f  **up –d**