我有一个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
2条答案
按热度按时间u7up0aaq1#
在docker-compose.yml中将版本从2更改为3可以进行转换。
o7jaxewo2#
在我的例子中,我尝试用KOMPOSE转换docker-compose.yml,但失败了。解决了启动微型车。