如何提供外部url到docker的形象
我在Docker Image上工作,我是Docker的初学者。 我有一个Docker Image,但是我想更新我的Docker Image,因为我的Docker Image应该接受一个外部URL,如: – 并开始进一步处理。
我没有任何线索如何做到这一点,我对Docker完全陌生,对Docker只有基本的了解。
用docker-compose你可以提供这样的环境variables:
version: "3" services: myapp: image: your-image environment: - FOO=http://example.com - BAR=456
取决于您的应用程序语言,您可以访问它们。 即python:
import os foo = os.environ.get("FOO") bar = os.environ.get("BAR")
问:如果我想把它作为dynamic需要做什么,
- FOO=<dynamic value>
你可以做这样的事情:
version: "3" services: myapp: image: your-image environment: - FOO - BAR
这样使用:
$ export FOO=http://example.com $ export BAR=456 $ docker-compose up
从我能理解的你想要你的新形象接受一个外部的URL作为参数,然后开始处理它的顶部。 这可以通过编写一个bash
脚本作为新图像的ENTRYPOINT
脚本完成,脚本将通过CMD
接收参数值。
Dockerfile
将如下所示:
FROM CURRENT_IMAGE COPY custom-entrypoint.sh /root/ WORKDIR /root ENTRYPOINT ["./custom-entrypoint.sh"]
build立图像,现在启动容器使用docker run
你可以传递你的URL作为参数,并在脚本中使用$1
。 例如:
docker run YOUR_IMAGE MY_URL