如何发送configuration到docker集装箱?

在运行时在Docker容器上设置基本configuration的最佳方式是什么? 我已经尝试了一些方法,但我不确定每个人的亲和骗局。

  1. 通过环境variables设置configuration。 例如: docker run -d -t -e HOST=www.example.com my_image my_script

  2. 通过将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更改。

你是这个意思吗? 有什么特定的你想要做的?