如何在docker run entrypoint中传递两个不同的bash文件

如何在docker run entrypoint中传递两个不同的bash文件,docker,Docker,亲爱的支持小组成员:, 我正在尝试使用标志entrypoint覆盖entrypoint。我需要依次执行两个文件/usr/share/logstash/config/start.sh和/usr/local/bin/docker entrypoint。我该怎么做?我正在努力 docker run --entrypoint /usr/share/logstash/config/start.sh && /usr/local/bin/docker-entrypoint --rm -it

亲爱的支持小组成员:, 我正在尝试使用标志entrypoint覆盖entrypoint。我需要依次执行两个文件/usr/share/logstash/config/start.sh和/usr/local/bin/docker entrypoint。我该怎么做?我正在努力

docker run --entrypoint /usr/share/logstash/config/start.sh && /usr/local/bin/docker-entrypoint  --rm -it -e AWS_ACCESS_KEY_ID="xxxxx" -e AWS_SECRET_ACCESS_KEY="ccc/xx"  xxx
没有成功。您能帮我一下吗?

--entrypoint
需要运行一个可执行文件,您提供了一些shell代码

一种方法是利用
--entrypoint
的json语法来运行一个shell,它完成了您预期的工作。下面是一个小例子:

$docker run-ti--entrypoint'[“bash”、“-c”、“echo hi&&exec bash”]'ubuntu:focal-c echo foo
你好
root@38209f44c079:/#退出
调整到您的入口点:

--entrypoint'[“bash”、“-c”、“/usr/share/logstash/config/start.sh&&exec/usr/local/bin/docker entrypoint”]。。。

您是否试图在主容器进程之前在容器中启动后台进程?一般来说,最好尝试在单独的容器中启动它。