【问题标题】:Separate specific configuration in DockerfileDockerfile中单独的具体配置
【发布时间】:2015-05-21 20:25:21
【问题描述】:

我的 Docker 映像存在设计问题。我创建了一个简单的 Nginx 映像并在额外文件中添加了一些配置。

这是我的 Dockerfile:

FROM debian:wheezy

RUN apt-get update && apt-get install -y wget && \
echo "deb http://packages.dotdeb.org wheezy all" >>  /etc/apt/sources.list && \
echo "deb-src http://packages.dotdeb.org wheezy all" >>  /etc/apt/sources.list && \
wget http://www.dotdeb.org/dotdeb.gpg && apt-key add dotdeb.gpg && \
apt-get update && apt-get install -y nginx

RUN rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx

ADD ./nginx/server.conf /etc/nginx/sites-available/default
ADD ./nginx/extra_conf /etc/nginx/

....

有了这个,我想在 docker 注册表中创建一个自动构建(来自我的 bitbucket 帐户)。在构建过程中,Docker 需要有nginx/server.conf/nginx/extra_conf 的路径。恕我直言,此配置非常特定于用户/项目,不应包含在此级别(并且可能也不包含在版本控制中)。

我怎样才能拥有更通用的东西?

我想使用ONBUILD 指令来添加我的文件并创建一个Dockerfile 孩子。问题是,它创建了一个无用的继承级别。

谢谢, 问候

【问题讨论】:

    标签: docker separation-of-concerns


    【解决方案1】:

    您可以使用卷,因此您可以将配置文件存储在主机上的/path/to/nginx/conf.d

    docker run -v /path/to/nginx/conf.d:/etc/nginx/conf.d:ro nginx
    

    卷也适用于常规文件。

    【讨论】:

      猜你喜欢
      • 2021-10-01
      • 1970-01-01
      • 2022-07-05
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      相关资源
      最近更新 更多