簡體   English   中英

獲得音量 docker 和 wordpress 的許可

[英]permission with volume docker and wordpress

我創建了一個 docker-composer.yml 文件來運行 wordpress mysql 和 phpmyadmin 的容器。 它開始很好 bt 我有一個權限問題。 我的所有文件都有用於用戶和組的 www-data:www-data,當我想在 wp-content 中創建一個新主題時,我的權限被拒絕。 我在 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 中上傳文件現在不起作用。 所以我想知道如何在 ubuntu 中使用 docker 安裝的卷正確設置權限。

一種解決方案是將您自己的用戶myname添加到www-data

sudo usermod -aG www-data myname

並確保 www-data 組對所有文件/目錄具有寫入權限並在目錄上具有執行權限。

另一種解決方案是讓您自己的用戶擁有所有文件( myname:www-data作為所有者)和目錄,並確保www-data組具有適當的讀/寫權限,以便 WordPress 容器的網絡服務器可以使用該組權限進行讀/寫文件。

題外話:還要確保有一個

define('FS_METHOD', 'direct');

在您的wp-config.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM