如何发送configuration到docker集装箱?
在运行时在Docker容器上设置基本configuration的最佳方式是什么? 我已经尝试了一些方法,但我不确定每个人的亲和骗局。
-
通过环境variables设置configuration。 例如:
docker run -d -t -e HOST=www.example.com my_image my_script
-
通过将Dockerfile中的ENTRYPOINT设置为我想要运行的命令,通过命令行参数设置configuration,并让我在调用docker运行时通过的参数覆盖CMD。 示例:
docker run -d -t my_image my_script --host=www.example.com
设置命令行参数和环境variables对于我来说大致相当于易用性。 有没有人有任何方法的任何大的优点或缺点? docker容器中的我的ENTRYPOINT / CMD是一个python脚本。 我唯一的想法是,当在Docker容器外部运行我的脚本时,使用命令行参数而不是环境variables稍微容易些,但这主要是个人偏好。
Dockerfile:
FROM ubuntu:xenial RUN apt-get update -y RUN apt-get install -y python3-pip python3.5 build-essential COPY . /app WORKDIR /app ENTRYPOINT ["python3"] CMD ["-h"]
所以在NGINX的情况下,我挂载/ mydata / config / myconfig到我的容器
docker run -v / mydata / config /:/ etc / nginx / config
那么,我所需要做的就是在/ mydata / config / myconfig中更新我的configuration,重启我的容器,然后select更改。
你是这个意思吗? 有什么特定的你想要做的?