4.2. 运行 Docker 容器化环境网关

要运行 docker 容器化环境网关,请执行以下操作:

流程

  1. 启动 Docker 守护进程:

    sudo systemctl start docker.service

  2. 检查 Docker 守护进程是否正在运行:

    sudo systemctl status docker.service

    您可以从 Red Hat registry 下载可以使用 Docker 容器引擎镜像:

    sudo docker pull registry.redhat.io/3scale-amp2/apicast-gateway-rhel7:3scale2.7.

  3. 在 Docker 容器引擎中运行 APIcast:

    sudo docker run --name apicast --rm -p 8080:8080 -e THREESCALE_PORTAL_ENDPOINT=https://<access_token>@<domain>-admin.3scale.net registry.redhat.io/3scale-amp2/apicast-gateway-rhel7:3scale2.7

    在这里,<access_token> 是 3scale 帐户管理 API 的访问令牌。您可以使用 Provider Key 而不是访问令牌。<domain>-admin.3scale.net 是 3scale 管理门户的 URL。

此命令在端口 8080 上运行名为 "apicast" 的 Docker 容器引擎,并从 3scale 管理门户获取 JSON 配置文件。有关其他配置选项,请参阅 安装 APIcast

4.2.1. docker 命令选项

您可以在 docker run 命令中使用以下选项:

  • --rm :在容器退出时自动移除容器。
  • -d--detach :在后台运行容器,并打印容器 ID。如果未指定,容器将以前台模式运行,您可以使用 CTRL + c 来停止容器。以分离模式启动时,您可以使用 docker attach 命令重新连接到容器,例如 docker attach apicast
  • -p--publish :向主机发布容器的端口。该值的格式应为 <host port="">:<container port="">,因此 -p 80:8080 将容器的端口 8080 绑定到主机计算机的端口 80。例如,管理 API 使用端口 8090,因此您可能希望通过在 docker run 命令中添加 -p 8090:8090 来发布此端口。
  • -e--env :设置环境变量。
  • -v--volume :挂载卷。该值通常以 <host path="">:<container path="">[:<options>] 表示。<options> 是一个可选属性;您可以将其设置为 :ro 以指定该卷将仅读取(默认情况下,它以读写模式挂载)。示例: -v /host/path:/container/path:ro