如何运行多个命令。我尝试运行krakend
并导出openapi
文档。
version: "3"
services:
krakend_ce:
image: devopsfaith/krakend:watch
volumes:
- ./krakend:/etc/krakend
ports:
- "9000:9000"
command: ["run", "-d", "-c", "/etc/krakend/krakend.json"]
# how to run krakend openapi export -h
字符串
我想在容器启动后krakend openapi export -h
2条答案
按热度按时间wrrgggsh1#
根据他们的Dockerfile from here判断,他们设置了
ENTRYPOINT ["/entrypoint.sh"]
和CMD ["krakend" "run" "-c" "/etc/krakend/krakend.json"]
。你需要做的是:
1.将入口点设置为
/bin/bash
。1.创建一个新的bash文件来运行多个命令。类似于:
字符串
1.将文件Map到容器中。
1.设置
cmd
以使用新文件。我会为此构建一个自定义的Docker镜像,但在docker-compose.yml中设置它也是可行的。
型
bzzcjhmw2#
您不应该使用
watch
标记来运行多个命令,因为它会监视配置文件的更改,并重新启动服务。如果您使用任何其他版本(而不是watch),则可以运行
sh -c 'your commands; command2'
命令而不会出现问题。