Mova o docker compose wordpress com volume local para o novo host com permissão correta

Mova o docker compose wordpress com volume local para o novo host com permissão correta

Estou lutando para migrar/mover meu projeto Docker Compoe com Wordpress e Mysql para um novo host.

O meu docker-compoye.yamlé o seguinte:

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

A estrutura do diretório é a seguinte:

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

Eu fiz as seguintes estratégias de migração para copiar o diretório/arquivos completos para o novo host:

  • rsync o diretório completo (e subdiretório) para o novo histórico
  • crie um .tar do diretório local recursivo, mova para o novo host e extraia-o

No entanto, a permissão do arquivo, por exemplo, no caminho do volume/diretório .wordpress/plugins/mudou de www-datapara mbecker.

Iniciar o projeto docker compose no novo host resulta no seguinte erro do 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

** Os dados do banco de dados são importados corretamente via script de importação ** Os nomes DNS são apontados para o novo IP e a diretiva de proxy reverso Nginx é a mesma

Alguma idéia de como mover os dados de um host para outro com a permissão de arquivo correta?

Responder1

Em geral, para corrigir problemas de permissão, fazer um `sudo chown -R www-data:www-data folder" deve funcionar. No meu caso, esqueci de especificar a tag da imagem. O Docker extrai automaticamente a imagem com a tag "latest "; tendo um projeto docker compose em execução há alguns anos, a imagem" mais recente "é uma imagem com 2 anos. Adicionei a tag de imagem correta ao novo projeto docker compose migrado e está funcionando.

informação relacionada