Docker传递参数Docker Entrypoint和Entrypoint.sh

Docker传递参数Docker Entrypoint和Entrypoint.sh,docker,devops,Docker,Devops,我试图把一个论点传给我的docker入口点但失败了, 这些是我遵循的步骤 Docker Build Command : docker build -t "DBDNS" --build-arg db=sample 在Dockerfile中 ARG db ENV database ${db} ENTRYPOINT ["/docker/entrypoint.sh", ${db}] 这是一个错误 bash:1:bash:[/var/www/html/.docker/entrypoint.sh,:未

我试图把一个论点传给我的docker入口点但失败了, 这些是我遵循的步骤

Docker Build Command : docker build -t "DBDNS" --build-arg  db=sample
在Dockerfile中

ARG db
ENV database ${db}
ENTRYPOINT ["/docker/entrypoint.sh", ${db}]
这是一个错误 bash:1:bash:[/var/www/html/.docker/entrypoint.sh,:未找到

文件实际存在,并为entrypoint.sh传递参数,从而导致问题。 有什么线索吗

-----------ENTRYPOINT---------------------
#!/usr/bin/env bash

echo "Entrypoint stuff"
echo "----------------"
echo "NEW APP DB CLONE FROM  $1"
echo "sites/files permission changes"
echo "--------------------------------------"

Entrypoint不能有a变量。您可以将其移动到CMD或直接在
docker Entrypoint.sh中访问它

ARG db
ENV database ${db}
ENTRYPOINT ["/docker/entrypoint.sh"]
CMD ["${db}"]


-----------ENTRYPOINT---------------------
#!/usr/bin/env bash

echo "Entrypoint stuff"
echo "----------------"
echo "NEW APP DB CLONE FROM  $1 or same as $database"
echo "sites/files permission changes"
echo "--------------------------------------"

即使您不使用CMD,
$database
也会为您提供所需的值

您是否可以共享
entrypoint.sh
?您能否提供添加命令,将entrypoint.sh文件添加到图像中?@fzgregor在question@yamenK是的,我已经做过了。没有在ENTRYPOINT[“/docker/ENTRYPOINT.sh”中传递参数,${db}]有效。但如果我添加参数,则只会发生错误。有效。非常感谢。