разрешение с объемом docker и WordPress - PullRequest
0 голосов
/ 10 марта 2020

Я создал файл docker - composer .yml для запуска контейнера для wordpress mysql и phpmyadmin. Это начинается хорошо, но у меня проблемы с разрешением. Все мои файлы имеют www-data: www-data для пользователя и группы, и когда я хочу создать новую тему в wp-контенте, у меня отказано в разрешении. Я в Ubuntu 18.04.

вот мой docker -compose.yml файл:

version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
     MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wpsite
  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: password 
    networks:
      - wpsite
  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
     - '8000:80'
    restart: always
    volumes: ['./:/var/www/html']
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      - wpsite
networks:
  wpsite:
volumes:
  db_data:

я попытался изменить на «chown -Rf myname: myname». поэтому я могу создать файл, но загрузка файлов в WordPress не работает сейчас. Поэтому я задаюсь вопросом, как правильно установить разрешения для подключенного тома docker в Ubuntu.

1 Ответ

0 голосов
/ 10 марта 2020

Одним из решений этой проблемы будет добавление вашего собственного пользователя myname в группу www-data

sudo usermod -aG www-data myname

и убедитесь, что группа www-data имеет права на запись во все файлы / каталоги и выполняет привилегии для каталогов.

Другое решение состояло бы в том, чтобы позволить вашему собственному пользователю владеть всеми файлами (myname:www-data в качестве владельца) и каталогами и убедиться, что группа www-data имеет соответствующие права на чтение / запись, чтобы веб-сервер контейнера WordPress мог используйте групповые привилегии для чтения / записи файлов.

Off-topi c: также убедитесь, что в вашей wp-config.php.

есть строка
define('FS_METHOD', 'direct');

.

...