如何在 Dockerfile 中复制配置文件?

Posted

技术标签:

【中文标题】如何在 Dockerfile 中复制配置文件?【英文标题】:How can I copy a config file within a Dockerfile? 【发布时间】:2014-04-23 10:22:31 【问题描述】:

我正在尝试安装和配置 nginx,但我需要复制整个配置文件。我尝试简单地将它添加到 Dockerfile,因为它只有几行,但 Dockerfile 似乎对多行命令没有很好的支持。我的意思是我需要照原样复制我的配置文件,我不能在每一行都用 'sed'、'cat' 或 '\' 来污染它。

有些人建议将配置文件放在公共 git 存储库中,如果事实证明没有其他方法,我想我可以这样做。但我一点也不喜欢它,因为它没有意义。我不想拥有和管理这些文件的版本控制存储库(更不用说将它们公开),我只想复制/粘贴它们。它们非常简单!

有什么想法吗?

【问题讨论】:

【参考方案1】:

您应该使用 Dockerfile 中的 ADD instruction 将配置文件复制到容器中。

【讨论】:

注意:一般来说,最好使用 COPY 而不是 ADD,除非您特别需要 ADD 如何处理 tarball。见this answer 和Dockerfile best practices。

以上是关于如何在 Dockerfile 中复制配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

第2次系统综合实践

Dockerfile:如何使用 curl 下载文件并复制到容器中

如何使用 Dockerfile 在一层中复制多个文件?

Dockerfile构建微服务镜像

如何编写 Dockerfile 将我的 war 文件部署到 jboss 7.2 中?

Docker Dockerfile基本配置