Dockerfile副本不适用于Nextcloud容器

Dockerfile副本不适用于Nextcloud容器,docker,docker-compose,copy,nextcloud,Docker,Docker Compose,Copy,Nextcloud,我正在尝试部署一个Nextcloud容器,其中配置从本地目录复制到容器中。我在构建或运行容器时没有收到任何错误,我可以看到每个终端都成功地执行了这些步骤。无论如何,复制的文件根本不在容器中。这是怎么回事 Dockerfile: FROM nextcloud:latest # Copy local config COPY ./config.php /var/www/html/config 所有证据: 谢谢 文件已复制,但稍后将被删除 这是一个非常典型的场景,在这种情况下,您所能做的最好的事情

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

Dockerfile:

FROM nextcloud:latest

# Copy local config
COPY ./config.php /var/www/html/config
所有证据:


谢谢

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

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

从中你可以看到

ENTRYPOINT ["/entrypoint.sh"]
如果我们在第100行中打开,您可以清楚地看到
/var/www/html/config
的内容已被修改

你可以做这些选择中的任何一个

  • 将文件复制到不同的临时位置,并创建自己的
    入口点
    (您可以将粘贴从原始位置复制到地面上运行,也可以尝试找到更理想的解决方案)

  • 也可以在创建和运行容器后复制文件

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

你能用dockerfile在你的本地目录中运行“ls”吗?@matchish,它在我截图的第一行。包含两个文件:Dockerfile和config.phpPerfect,谢谢!实际上,我正在使用docker compose(从我的OP中省略)。那么,您是否可以将该文件添加为已装入的卷?由于entrypoint.sh正在进行RSYNC,它仍然可以被删除,但显然nextcloud建议完全使用卷,因此您可以尝试一下。看看这个,实际上,我正在尝试使用卷装载解决方案,但仍然遇到(类似的?)错误。。。我在这里发布了一篇关于此的新帖子,以防您熟悉Nextcloud问题: