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 容器的主要内容,如果未能解决你的问题,请参考以下文章