I "m nastavenie wordpress stack a majú krížové povolenia súborov.
Pri použití docker-compose up
Oprávnenia sa zdajú byť problémom, ale pri použití lokálneho ukotvovacieho roja a používania docker stack deploy
, nginx mi dáva 403
pre chyby pri povolení súborov. Pri kontrole oboch nginx:alpine
kontajner a wordpress:php7.1-fpm-alpine
kontajner, naozaj vidím, že kontajnery majú iné povolenie, na strane nginx to označuje súbory vnútri var/www/html
vo vlastníctve ID užívateľa a skupiny 82
zatiaľ čo na php7.1 sú vo vlastníctve www-data
.
Ako sa môžem uistiť, že povolenie je v kontajneroch správne? Súbory sa viažu z hostiteľa.
`` `
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: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password
volumes:
wordpress:
driver: local
driver_opts:
type: none
o: bind
device: "${PWD}/wordpress"
mysql:
`` `
odpovede:
0 pre odpoveď č. 1Pre kohokoľvek, kto prichádza s touto otázkou a nemá žiadne riešenie, takto som sa k tejto situácii priblížil.
Pridal som nasledujúce do môjho dockerfile, vytvára nový www-data
skupiny A používateľa id
ako id
ktorý sa používa pre www-data
užívateľ 82
& skupina 82
v php-fpm
image.
RUN set -x ;
addgroup -g 82 -S www-data ;
adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1
Do môjho docker súboru pre nginx.
a v mojom nginx.conf
nastavil som pracovníka nginx na novovytvoreného používateľa ww-data.
user www-data;