混合命名卷和绑定挂载如何工作?使用以下安装程序,绑定安装中的路径是否仍将存在于绑定安装中,就像绑定安装中存在的路径一样?
/var/www/html/wp-content/uploads
使用我附加到命名卷的单独容器,似乎表明情况并非如此,因为从单独容器的角度来看,这些路径是完全空的。有某种方法可以在某种意义上起作用吗?
volumes:
- "wordpress:/var/www/html"
- "./wordpress/uploads:/var/www/html/wp-content/uploads"
- "./wordpress/plugins:/var/www/html/wp-content/plugins"
- "./wordpress/themes:/var/www/html/wp-content/themes"
我正在设置一个 wordpress 堆栈并具有跨文件权限。
当使用docker-compose up
权限似乎不是问题但是当使用本地 docker swarm 和 using 时docker stack deploy
,nginx 给我一个403
文件权限错误。在检查nginx:alpine
容器和wordpress:php7.1-fpm-alpine
容器时,我确实看到每个容器都有不同的权限,在 nginx 端,它将里面的文件标记var/www/html
为由用户和组 id 拥有,82
而在 php7.1 上它们由www-data
.
如何确保跨容器的权限正确?文件正在从主机绑定安装。
``
version: '3'
services:
nginx:
depends_on:
- wordpress
image: private/nginx
build:
context: ./stack/nginx
volumes:
- "wordpress:/var/www/html"
ports:
- 80:80
wordpress:
depends_on:
- mysql
image: private/wordpress
build:
context: ./stack/wordpress
volumes:
- "wordpress:/var/www/html"
environment:
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password
mysql:
image: mariadb
volumes:
- "mysql:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: …
Run Code Online (Sandbox Code Playgroud)