javascript – 在NGINX docker容器中启动之前运行bash脚本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在NGINX docker容器中启动之前运行bash脚本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1109字,纯文字阅读大概需要2分钟。
内容图文
我正在尝试使用docker在localhost:8000上运行一个javascript应用程序.我想做的部分是基于docker run命令交换一些配置文件,我想将环境变量传递到容器中,以便bash脚本可以将其用作参数.
我的dockerfile看起来像这样:
FROM nginx
COPY . /usr/share/nginx/html
CMD ["bash","/usr/share/nginx/html/runfile.sh"]
bash脚本如下所示:
#!/bin/bash
if [ "$SECURITY_VERSION" = "OPENAM" ]; then
sed -i -e 's/localhost/openam/g' authConfig.js
fi
docker run -p 8000:80 missioncontrol:latest -e SECURITY_VERSION="TEST"
Docker给了我一个例外,说找不到-e exec命令.
但是,如果我将dockerfile更改为使用ENTRYPOINT而不是CMD,则-e标志有效,但Web服务器无法启动.
这里有什么我想念的吗? ENTRYPOINT是否被覆盖?
编辑:
所以我更新了我的dockerfile以使用ENTRYPOINT [“bash”,“/usr/share / nginx / html / runfile.sh”,“;”,“nginx -g daemon off;”]
但是Docker的容器仍然关闭.有什么我想念的吗?
解决方法:
nginx容器已经定义了ENTRYPOINT.如果你定义了CMD,它将把它们组合起来,就像’ENTRYPOINT CMD’一样,CMD成为ENTRYPOINT的参数.这就是为什么你需要重新定义ENTRYPOINT以使其正常工作.
通常ENTRYPOINT以这种方式定义,如果你也传递CMD,它将由ENTRYPOINT脚本执行.然而,每个容器可能不是这种情况.
内容总结
以上是互联网集市为您收集整理的javascript – 在NGINX docker容器中启动之前运行bash脚本全部内容,希望文章能够帮你解决javascript – 在NGINX docker容器中启动之前运行bash脚本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。