kubernetes kompose无法转换docker compose for key-only字段

z31licg0  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(83)

我有一个docker-compose.yml文件,版本是2.3。(我在第一次尝试kompose时不得不改为2)。我试着用这个命令将这个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。(但不是)。所以我想知道如何在转换过程中处理key-only字段。
我的kompose是在Mac上随Docker桌面一起提供的。组成版本:1.19.0 Docker:

  • 发动机:19.03.2
  • 编写:1.24.1 kubernetes:1.14.6
u7up0aaq

u7up0aaq1#

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

o7jaxewo

o7jaxewo2#

在我的例子中,我尝试用KOMPOSE转换docker-compose.yml,但失败了。解决了启动微型车。

$ kompose convert -f docker-compose.yml 
$ FATA Unable to load yaml/json file for version parsing: open docker-compose.yml: no such file or directory 

$ minikube start

相关问题