使用 Dockerfile 在 Docker 主机上安装 NetScaler CPX

2017 年 7 月 18 日

重要

适用于 NetScaler CPX 的 Dockerfile 已弃用。如果使用的是 Dockerfile,请替换为 Docker Store 中的 NetScaler CPX。有关如何从 Docker Store 下载 NetScaler CPX 以及在 Docker 中部署 NetScaler CPX 的信息,请参阅在 Docker 中部署 NetScaler CPX 实例

NetScaler CPX 还以 Dockerfile 形式提供。您需要从 Dockerfile 中构建 NetScaler CPX 映像文件,然后使用 Linux shell 或 Docker compose 工具部署 NetScaler CPX 实例。

必备条件

请确保您具备以下项:

  • 1 个 CPU
  • 2 GB RAM
  • Linux Ubuntu 14.04 及更高版本。
  • 系统使用 apt-get 命令进行更新。
  • 安装以下软件包:libc6-dev:i386、gcc-multilib、g++-multilib、lib32ncurses5-dev、zlib1g-dev:i386、libssl-dev:i386、build-essential
  • Docker 安装在 Linux 主机系统上。要安装 Docker,请在 Linux shell 提示窗口中运行以下命令:
     curl –ssl <https://get.docker.com/> | sh
    

    有关在 Linux 上安装 Docker 的详细信息,请参阅 https://docs.docker.com/engine/installation/ubuntulinux/

  • Docker 主机有 Internet 连接。
  • 您以 root 用户身份登录。
  • 从您的 Citrix 代表那里获取 NetScaler CPX Dockerfile,并将其复制到您的 Linux Ubuntu 系统。

要使用 Dockerfile 构建 NetScaler CPX 映像,请执行以下操作:

  1. 提取 NetScaler CPX Dockerfile 的内容。为此,导航到保存映像文件的目录,然后运行以下命令:
tar –xvzf <image_file_name>
root@ubuntu:~# cd /var/cpx-build
root@ubuntu:/var/cpx-build# ls
cpx.tar.gz
root@ubuntu:/var/cpx-build# tar –xvzf cpx.tar.gz
  1. 创建 NetScaler CPX Docker 映像。导航到提取映像文件的目录,然后运行以下命令:
make
root@ubuntu:/var/cpx-build# cd cpx
root@ubuntu:/var/cpx-build/cpx# ls
Dockerfile  Makefile  netscaler.tar.gz
root@ubuntu:/var/cpx-build/cpx# make
  1. 创建 NetScaler CPX Docker 映像后,可以运行以下命令来查看映像的详细信息:
docker images

例如:

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

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

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

部署 NetScaler CPX 实例

获取 NetScaler CPX 映像后,可以使用 Linux shell 或 Docker compose 工具部署 NetScaler CPX 实例。

使用 Linux Shell 部署 NetScaler CPX 实例

使用 Linux shell,导航到保存 NetScaler CPX 映像的目录,然后使用 docker run 命令部署 NetScaler CPX 实例,为了能够进行外部通信,必须打开以下端口:HTTP 端口 80、SSH 端口 22 和 SNMP 端口 161。

docker run -dt -p <port number> --ulimit core=-1 --privileged=true –e <REPOSITORY>:<TAG>
docker run -dt -p 22 -p 80 -p 161/udp --ulimit core=-1 --privileged=true -e EULA=yes cpx:11.1-48.10

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

CONTAINER ID    IMAGE         COMMAND       CREATED     STATUS     PORTS     NAMES

6fe01203e7b9  cpx:11.1-48.10  "/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   lonely_knuth

使用 Docker Compose 部署 NetScaler CPX 实例

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

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

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

    : image: : ports:      - 22      - 80      - 161/udp      - 36001-36010 tty: true privileged: true

其中:

  • <service-name> 是要置备的服务的名称。
  • image:<repository>:<tag> 指示 NetScaler CPX 映像的存储库和版本。
  • privileged: true 提供对 NetScaler CPX 实例的所有 root 权限。
cpxlb:
    image: cpx:11.1-48.10
    ports:
       - 22
       - 80
       - 161/udp
       - 36001-36010
   tty: true
   privileged: true

注意

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

container_name:

  1. 运行以下命令置备多个 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**

使用 Dockerfile 在 Docker 主机上安装 NetScaler CPX