Dockerfile 复制不适用于 Nextcloud 容器

Posted

技术标签:

【中文标题】Dockerfile 复制不适用于 Nextcloud 容器【英文标题】:Dockerfile Copy not working for Nextcloud container 【发布时间】:2020-07-23 22:17:58 【问题描述】:

我正在尝试部署 Nextcloud 容器,其中配置从本地目录复制到容器。在构建或运行容器时我没有收到任何错误,我可以看到每个终端都成功执行了这些步骤。无论如何,复制的文件根本不在容器中。这是怎么回事?

Dockerfile:

FROM nextcloud:latest

# Copy local config
COPY ./config.php /var/www/html/config

所有证据:

谢谢!

【问题讨论】:

你能用 dockerfile 在你的本地目录中运行 'ls' 吗? @matchish 这是我截图的第一行。包含 2 个文件:Dockerfile 和 config.php 【参考方案1】:

文件已复制,但稍后将被删除。

这是一个非常典型的场景,在这种情况下,您能做的最好的事情就是查看容器启动后父镜像nextcloud:latest 会发生什么。

在nextcloud's Dockerfile你可以看到

ENTRYPOINT ["/entrypoint.sh"]

如果我们在第100行打开entrypoint.sh,你可以清楚地看到/var/www/html/config的内容被修改了

你也许可以做这些选项中的任何一个

将文件复制到不同的临时位置,并创建自己的entrypoint(您可以从原始文件复制粘贴以开始运行,或者您可以尝试找出更好的解决方案)

或者你也可以在创建并运行容器后复制文件

docker cp config.php copytest:/var/www/html/config

【讨论】:

完美,谢谢!实际上我正在使用 docker-compose (从我的 OP 中省略)。那么您是否只需将文件添加为已安装的卷? 由于 entrypoint.sh 正在执行 RSYNC 仍然可以将其删除,但显然 nextcloud 建议完全使用卷,所以是的,您可以尝试一下。看看这个github.com/nextcloud/docker#persistent-data 实际上,我正在尝试使用卷挂载解决方案,但仍然遇到(类似?)错误...我在这里打开了一篇关于此的新帖子,以防您熟悉 Nextcloud问题:***.com/questions/61159869/…

以上是关于Dockerfile 复制不适用于 Nextcloud 容器的主要内容,如果未能解决你的问题,请参考以下文章

发送邮件不适用于复制的数据列表

css 过渡不适用于渐变? [复制]

BigQuery“复制表”不适用于小表

为啥生成器函数不适用于下一次调用? [复制]

Vue如何将数组复制到本地进行编辑?为啥它适用于字符串而不适用于数组? [复制]

为啥百分比高度不适用于我的 div? [复制]