gpt4 book ai didi

docker - 将文件夹复制到 Docker 容器中的已安装卷中

转载 作者:行者123 更新时间:2023-12-02 20:15:50 25 4
gpt4 key购买 nike

我有一个用于生成 vendor/ 的图像的 Dockerfile位于 /home/ics199/vendor/ 的文件夹.我想把这个文件夹复制到/var/www/html .问题是我也在使用 /var/www/html作为与主机一起安装的卷。如果我复制 vendor/文件夹到 /var/www/html ,当卷被挂载并且无法使用时它会被隐藏。所以,它需要在挂载后被复制。我希望将其复制到容器中以保留文件权限(不是容器-> 主机-> 容器),尽管我知道作为副作用,它会出现在主机的挂载卷中。最好的方法是什么(最好是自动)?

最佳答案

正如 Oliver 建议的那样,我会在入口点执行此操作,但是您可以使用符号链接(symbolic link)而不是副本,而是使用指向容器内文件夹的符号链接(symbolic link):

示例 entrypoint.sh:

#!/bin/sh

ln -sf /home/ics199/vendor /var/www/html/vendor
if [ $# == 0 ]; then
set -- /bin/sh
fi
exec "$@"

Dockerfile 将包括:
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT /entrypoint.sh

关于docker - 将文件夹复制到 Docker 容器中的已安装卷中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com