Docker compose 在docker compose yaml文件中嵌入heredoc
我想在docker compose yaml文件中嵌入一个HEREDOCDocker compose 在docker compose yaml文件中嵌入heredoc,docker-compose,yaml,heredoc,Docker Compose,Yaml,Heredoc,我想在docker compose yaml文件中嵌入一个HEREDOC version: "3.7" services: test-cli: image: ubuntu entrypoint: | /bin/sh << HERE echo hello echo goodbye HERE 版本:“3.7” 服务: 测试cli: 图片:ubuntu 入口点:| /bin/sh与相反,似乎给entrypoint的参数
version: "3.7"
services:
test-cli:
image: ubuntu
entrypoint: |
/bin/sh << HERE
echo hello
echo goodbye
HERE
版本:“3.7”
服务:
测试cli:
图片:ubuntu
入口点:|
/bin/sh与相反,似乎给entrypoint的参数没有传递给“/bin/sh-c”,而是被解析并转换为参数数组(argv)
事实上,如果在您提供的示例上运行docker inspect
,您可以看到您的命令行已转换为数组:
"Entrypoint": [
"/bin/sh",
"<<",
"HERE",
"echo",
"hello",
"echo",
"goodbye",
"HERE"
],
如果您确实需要HEREDOC,您可以:
version: "3.7"
services:
test-cli:
image: ubuntu
entrypoint:
- /bin/bash
- '-c'
- |
/bin/sh << HERE
echo hello
echo goodbye
HERE
版本:“3.7”
服务:
测试cli:
图片:ubuntu
入口点:
-/bin/bash
-“-c”
- |
/垃圾箱/垃圾箱
version: "3.7"
services:
test-cli:
image: ubuntu
entrypoint:
- /bin/bash
- '-c'
- |
echo hello
echo goodbye
version: "3.7"
services:
test-cli:
image: ubuntu
entrypoint:
- /bin/bash
- '-c'
- |
/bin/sh << HERE
echo hello
echo goodbye
HERE