kompose无法将docker compose转换为仅密钥字段

时间:2019-10-22 21:31:48

标签: kubernetes docker-compose kompose

我有一个docker-compose.yml文件,版本为2.3。 (在第一次尝试kompose时,我不得不将其更改为2)。 我试图使用此cmd将这个yaml文件转换为k8s yaml文件:

kompose convert -f docker-compose.yml -v

它因错误而失败:

ERRO Could not parse config for project xxx : Cannot unmarshal '<nil>' to type <nil> into a string value 
FATA composeObject.Parse() failed, Failed to load compose file: Cannot unmarshal '<nil>' to type <nil> into a string value

很明显,这些错误与docker-compose.yml文件中的一些缺少值的字段有关: 例如,

build:
  context: .
  args:
    http_proxy:
    https_proxy:
    no_proxy:
    socks_proxy:
    TF_ANNOTATION: "no"

我在网上搜索并发现了一个相关的github问题,该问题似乎已经修复Issue388。 (但不是)。因此,我想知道如何在转换期间处理仅键字段。

我的kompose随Mac上的docker桌面一起提供。 Kompose版本:1.19.0 码头工人:

  • 引擎:19.03.2
  • 撰写:1.24.1    kubernetes:1.14.6

1 个答案:

答案 0 :(得分:1)

在docker-compose.yml中将版本从2更改为3即可进行转换。