![](/img/trans.png)
[英]load files into docker volumes from host using YAML file -docker
[英]File ownership on docker named volumes
尝试在Docker容器上运行WordPress时遇到文件夹所有权问题。 像wp-content
和themes
这样的文件夹是root拥有的,不允许我从Web界面安装主题和插件。
wordpress:cli
)运行WP-CLI。 /var/www/html
下的所有文件和文件夹均由www-data
(uid 33)拥有。 docker-compose.yml
dockerfile
(从git repo复制):
FROM wordpress:5
COPY --chown=33 ./ /var/www/html/wp-content/themes/theme/
我没有在dockerfile上声明卷-只是上面的这两行,没有别的。 实际上,此图像仅用于将文件夹复制到WordPress图像中。 WordPress图像(我的图像派生自该图像)在其dockerfile中声明了一个卷。
我确实在docker-compose文件中声明了卷,但是当忽略它们时,问题仍然存在
文件和文件夹所有权...
Docker构建中的COPY
步骤存在一些问题,但我不知道是什么。
我将dockerfile
更改为
FROM alpine
COPY ./ /var/www/html/wp-content/themes/theme/
RUN chown -R 33:33 /var/www/html
RUN ls -n /var/www/html
如果我是从阿尔卑斯山建造的,则uid 33
是所有者:
Step 4/4 : RUN ls -n /var/www/html
---> Running in e9850fa85800
total 4
drwxr-xr-x 1 33 33 4096 Apr 12 19:34 wp-content
我将第一行更改为FROM wordpress
, 现在root
是所有者 :
Step 4/4 : RUN ls -n /var/www/html
---> Running in 2810cc37aaba
total 4
drwxr-xr-x. 3 0 0 4096 Apr 12 19:38 wp-content
如何继续获得所需的结果(即/var/www/html/wp-content/themes/theme/
文件以及www-data
(uid 33)拥有的所有文件和文件夹)?
您可以在dockerfile中使用ADD或COPY命令设置所有者,对于COPY命令,请尝试COPY --chown:www-data:www-data ./ /var/www/html/wp-content/themes/theme/
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.