首页 > 解决方案 > 将 httpd.conf 放在存储库的哪个位置以创建 docker 映像

问题描述

我需要基于 httpd:2.4 构建一个 docker 映像,并且我必须应用我在自己的 httpd.conf 中定义的一些自定义。现在我的问题是将这个文件放在我的 git repo 中的哪个位置,以便正确地注入到 docker 映像中。

考虑到我的项目文件夹中有 dockerfile,并且在同一级别我有 .dockerignore。

放置这样一个与项目没有严格关系的文件的最佳实践是什么(我的意思是,我也可以将其部署为标准应用程序而不进行 dockerizing)?它应该放在上层文件夹中吗?怎么叫?

提前致谢

标签: gitdocker

解决方案


dockerhub 上的图像页面上,您有一个如何自定义配置的示例:

FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf

没有魔法,你告诉 docker 从你的上下文中获取哪个文件以及它应该放在哪里。所以你基本上可以把文件放在任何地方。例如你可以有这个简单的结构:

Dockerfile
app/
  your app files if any
conf/
  my-httpd.conf

所以你会在你的 Dockerfile 中有这个:

COPY conf/my-httpd.conf /usr/local/apache2/conf/httpd.conf

你的回购结构是免费的。您甚至可以将您的 dockerfile 或 dockerfiles 放在一个单独的文件夹和一个用于构建上下文的文件夹中,如最佳实践中所述。

无论如何,有很多方法可以做,但我认为你应该根据你的用例保持尽可能简单。


推荐阅读