我试图将一个参数传递给我的 docker 入口点,但它失败了,这些是我遵循的步骤
Docker Build Command : docker build -t "DBDNS" --build-arg db=sample
Run Code Online (Sandbox Code Playgroud)
在 Dockerfile 中
ARG db
ENV database ${db}
ENTRYPOINT ["/docker/entrypoint.sh", ${db}]
Run Code Online (Sandbox Code Playgroud)
此 bash 的错误:1: bash: [/var/www/html/.docker/entrypoint.sh,: not found
实际上文件存在并为 entrypoint.sh 传递参数导致问题。任何线索
-----------ENTRYPOINT---------------------
#!/usr/bin/env bash
echo "Entrypoint stuff"
echo "----------------"
echo "NEW APP DB CLONE FROM $1"
echo "sites/files permission changes"
echo "--------------------------------------"
Run Code Online (Sandbox Code Playgroud)
入口点不能有 aa 变量。您可以将其移动到 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 "--------------------------------------"
Run Code Online (Sandbox Code Playgroud)
即使你不使用CMD,$database
也会得到你需要的价值
归档时间: |
|
查看次数: |
1998 次 |
最近记录: |