Переместить docker compose wordpress с локальным томом на новый хост с правильными разрешениями

Переместить docker compose wordpress с локальным томом на новый хост с правильными разрешениями

Я пытаюсь перенести свой проект Docker Compoe с Wordpress и Mysql на новый хост.

Мой docker-compoye.yamlвариант следующий:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8099:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: 'ahw5ai8gu9waewiuNgaithev7xie0jah'
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: 1
    depends_on:
      - db
    volumes:
      - .wordpress/plugins:/var/www/html/wp-content/plugins
      - .wordpress/themes:/var/www/html/wp-content/themes
      - .wordpress/uploads:/var/www/html/wp-content/uploads
      - ./wordpress.ini:/usr/local/etc/php/conf.d/wordpress.ini

  db:
    image: mysql:5.7
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_ROOT_PASSWORD: ahw5ai8gu9waewiuNgaithev7xie0jah
    volumes:
      - .db:/var/lib/mysql

Структура каталога следующая:

drwxrwxr-x  8     999 mbecker 4,0K Mär  5 09:36 .db
-rwxrwxr-x  1 mbecker mbecker 2,5K Mär  2 16:39 docker-compose.yaml
drwxrwxrwx  6 mbecker mbecker 4,0K Apr 11  2021 .wordpress

Я применил следующие стратегии миграции, чтобы скопировать весь каталог/файлы на новый хост:

  • rsync весь каталог (и подкаталог) в новую историю
  • создайте .tar локального каталога рекурсивно, переместите на новый хост и извлеките его

Однако, например, разрешение файла в пути к тому/каталогу .wordpress/plugins/изменилось с www-dataна mbecker.

Запуск проекта Docker Compose на новом хосте приводит к следующей ошибке Wordpress:

Notice: Function WP_User_Query::query was called incorrectly. User queries should not be run before the plugins_loaded hook. Please see Debugging in WordPress for more information. (This message was added in version 6.1.1.) in /var/www/html/wp-includes/functions.php on line 5835

** Данные базы данных импортируются корректно с помощью скрипта импорта ** DNS-имена указывают на новый IP-адрес, а директива обратного прокси-сервера Nginx остается прежней

Есть идеи, как перенести данные с одного хоста на другой с правильными правами доступа к файлам?

решение1

В общем, для исправления проблем с правами доступа должно сработать выполнение команды `sudo chown -R www-data:www-data folder". В моем случае я забыл указать тег образа. Docker автоматически извлекает образ с тегом "latest"; при запущенном проекте Docker Compose в течение нескольких лет "latest"-образом является образ, которому 2 года. Я добавил правильный тег образа в новый перенесенный проект Docker Compose, и он работает.

Связанный контент