Docker通过entrypoint.sh传递一个参数Docker入口点

我尝试将一个parameter passing给我的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 "--------------------------------------" 

入口点不能有一个variables。 您可以将其移动到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也会得到你所需要的值