docker - 如何将构建 docker 容器的命令放入 dockerfile?
问题描述
我有脚本:docker run -it -p 4000:4000 bitgosdk/express:latest --disablessl -e test
如何将此命令与参数一起放入 dockerfile?
FROM bitgosdk/express:latest
EXPOSE 4000
???
解决方案
浏览您的Dockerfile 内容。
在容器内运行的命令是:
/ # ps -ef | more
PID USER TIME COMMAND
1 root 0:00 /sbin/tini -- /usr/local/bin/node /var/bitgo-express/bin/bitgo-express --disablessl -e test
该命令之所以如此,是因为 Dockerfile 中设置的入口点是ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/node", "/var/bitgo-express/bin/bitgo-express"]
,而参数--disablessl -e test
是在运行docker run
命令时提供的。
可以使用以下--disablessl -e test
方法在 Dockerfile 中设置参数CMD
:
CMD ["--disablessl", "-e","test"]
新的 Dockerfile:
FROM bitgosdk/express:latest
EXPOSE 4000
CMD ["--disablessl", "-e","test"]
请参阅this以了解entrypoint 和 cmd 之间的区别。
推荐阅读
- c - 卡恩算法的并行版本
- ssl - HTTPS连接被拒绝,使用ingress-nginx
- python - 我在创建 HTML 文件的 Python 代码中哪里出错了?我是否朝着正确的方向前进?
- functional-programming - OCaml:如何使用沙丘构建 mirage-tcpip?
- python - Flask:使用 flask_session 在会话中存储、获取和更新列表
- wordpress - 在 Wordpress 中自定义评论表单字段
- xml - 如何使用 XSLT 替换 XML 节点名称中的字符
- node.js - 如何使用 nodejs 从 mongodb 中的不同集合中聚合数据?
- java - 如何在java中运行异步bash命令?
- ios - 使用覆盖后可见的 SwiftUI 边缘