创建 Docker 容器

在 Docker 引擎上,必须为要连接到 Data Management Service 的每个 IBM® Storage Protect 服务器创建单独的容器。

开始之前

对于每个容器,都需要在本地系统中提供一个目录来存储配置数据和日志。 在运行 Docker 命令时,请考虑以下参数和要求:
  • --mount type=bind:要指定容器存储文件的位置,可在创建容器的 docker create 命令中使用 --mount type=bind 参数。
  • 默认情况下,存储在指定目录中的文件归 UID=1001, GID=1001 的用户所有。 因此,需要确保该目录的权限允许该用户读/写访问。 如果希望容器使用不同的用户和组 ID,可以通过在 docker create 命令中指定 -e UID=uid-e GID=gid 参数来覆盖 UID 和 GID。
    限制: -e UID=-e GID= 参数指定的用户和组 ID 不能为零。
  • 如果容器将在无法直接访问互联网的系统上运行,则需要将容器配置为使用 HTTP 代理。 要进行配置,请在 docker create 命令中指定 -e HTTP_PROXY=<https://address:port> 参数。
注意: Docker 命令必须由根用户或属于 Docker 组的用户执行。 如果用户不是 Docker 组的成员,则必须在所有 Docker 命令前加上 sudo

过程

对要连接的每个 IBM Storage Protect 服务器重复以下步骤。

  1. 创建一个空目录,用于存储连接代理日志和状态数据。 设置目录的权限和/或所有权,以允许容器写入目录。
  2. 使用 docker create 创建一个运行连接代理的容器:
    docker create --name <sp-server-name> --mount type=bind,src=<path_to_empty_directory>,dst=/opt/ibm/defender/persist -e UID=<uid> -e GID=<gid>
    eagle-agent:latest
  3. 使用 docker start 启动容器:
    docker start <sp-server-name>
  4. 使用 docker exec 连接到容器,并使用 dcli 命令进行配置。
    docker exec -i <sp-server-name> bash
    dcli 服务器注册...
    dcli 索赔登记册...
    ^D
    或者,您也可以发出以下命令:
    docker exec <sp-server-name> dcli server register ... -y
    docker exec <sp-server-name> dcli claim register ...