在每个“之前运行命令”;“docker compose run”;

在每个“之前运行命令”;“docker compose run”;,docker,docker-compose,Docker,Docker Compose,每次运行docker compose run my_container,我都希望在运行命令之前对以下内容进行评估: eval "$(ssh-agent)" ssh-add /root/.ssh/deployment.pem 然而,我不知道怎么做。我尝试为ENTRYPOINT添加一些内容,但这使得我的ENTRYPOINT脚本可以运行,而不是使用docker compose run运行任何我尝试运行的内容 有什么想法吗?是否要在容器中运行这些命令?如果是这样,它们的自然位置是D

每次运行
docker compose run my_container
,我都希望在运行命令之前对以下内容进行评估:

eval "$(ssh-agent)"
ssh-add /root/.ssh/deployment.pem
然而,我不知道怎么做。我尝试为
ENTRYPOINT
添加一些内容,但这使得我的ENTRYPOINT脚本可以运行,而不是使用
docker compose run运行任何我尝试运行的内容


有什么想法吗?

是否要在容器中运行这些命令?如果是这样,它们的自然位置是Dockerfile(应该将
eval
部分添加到根用户的引导脚本中)。我不会污染入口点或编写命令。它属于构建。看起来你需要在容器外运行它?您可以编写一个脚本来包装
docker compose
,这样做。是的,我想在容器中运行这些命令。但是
eval“$(ssh-agent)”
会启动一个进程,除非我弄错了,否则在构建过程中运行的命令不会“持续”到运行时。