Dockerfile和Docker Compose白名单及替换名单使用说明

匹配规则

基础镜像检查包含白名单trust_list.json和替换名单replaces_list.json,具体匹配规则如下:

场景示例

以Dockerfile和Docker Compose文件中基础镜像为oraclelinux:6.10、java:8u40-jre为例:

操作步骤

  1. 使用SSH远程登录工具,进入工具部署服务器操作系统命令行界面。
  2. 白名单配置。

    1. 打开trust_list.json文件。
      1
      vi /opt/DevKit/devkitplugins/porting/sysmig/config_parser/config_parser_resources/trust_list.json
      

      “/opt”为DevKit安装目录,请根据实际情况替换。

    2. “i”进入编辑模式,oraclelinux配置如加粗内容所示。
      {
        "notary": {
          "arm_version": ["signer-0.7.0", "signer", "server-0.7.0", "server", "signer-0.6.1-2", "server-0.6.1-2"],
          "recommended_version": "signer"
        },
        "oraclelinux": {
          "arm_version": ["8.10", "8-slim-fips", "8-slim", "8", "9-slim-fips", "9-slim", "9", "7.9", "7-slim-fips", "7-slim", "7", "8.9", "8.8", "8.7", "8.6", "8.5", "8.4", "8.3", "8.2", "7.8", "7.7", "8.1", "8.0", "7.6"],
          "recommended_version": "9"
        },
        ...
      }
      • oraclelinux:为基础镜像名称,请根据实际名称进行配置。
      • arm_version:表示Arm架构支持的版本,多个以英文逗号分隔。
      • recommended_version:表示推荐版本。
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  3. 替换名单配置。

    1. 打开replaces_list.json文件。
      1
      vi /opt/DevKit/devkitplugins/porting/sysmig/config_parser/config_parser_resources/replaces_list.json
      

      “/opt”为DevKit安装目录,请根据实际情况替换。

    2. “i”进入编辑模式,java:8u40-jre如加粗内容所示。
      {
        "java:8u40-jre": "openjdk:8-jre",
        "java:openjdk-8u40-jre": "openjdk:8-jre",
        "java:8u40": "openjdk:8-jdk",
        "java:8u40-jdk": "openjdk:8-jdk",
        ...
      }

      格式为:基础镜像及版本:推荐的基础镜像及版本。

    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  4. 扫描文件。

    • 基础镜像oraclelinux:6.10:基础镜像oraclelinux在白名单中存在但是版本6.10不在Arm架构支持的版本内,查找替换名单也不存在,则按照白名单中推荐版本,建议将版本号修改为9。
      图1 源码文件1
    • 基础镜像java:8u40-jre:在白名单中不存在,查看替换名单存在,则根据替换名单提示建议将基础镜像版本号修改为openjdk:8-jre。
      图2 源码文件2