如何提供外部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