Verschieben Sie Docker Compose WordPress mit lokalem Volume mit der richtigen Berechtigung auf einen neuen Host

Verschieben Sie Docker Compose WordPress mit lokalem Volume mit der richtigen Berechtigung auf einen neuen Host

Ich habe Probleme, mein Docker Compoe-Projekt mit Wordpress und Mysql auf einen neuen Host zu migrieren/verschieben.

Meine docker-compoye.yamlist wie folgt:

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

Die Verzeichnisstruktur ist wie folgt:

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

Ich habe die folgenden Migrationsstrategien angewendet, um das komplette Verzeichnis/die kompletten Dateien auf den neuen Host zu kopieren:

  • rsync das komplette Verzeichnis (und Unterverzeichnis) mit dem neuen hist
  • Erstellen Sie rekursiv eine .tar-Datei des lokalen Verzeichnisses, wechseln Sie zum neuen Host und entpacken Sie sie

Allerdings wurde die Dateiberechtigung beispielsweise im Datenträger-/Verzeichnispfad .wordpress/plugins/von www-dataauf geändert mbecker.

Das Starten des Docker-Compose-Projekts auf dem neuen Host führt zu folgendem Wordpress-Fehler:

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

** Die Datenbankdaten werden korrekt per Importskript importiert. ** Die DNS-Namen verweisen auf die neue IP und die Nginx-Reverse-Proxy-Direktive ist dieselbe.

Irgendwelche Ideen, wie man die Daten mit den richtigen Dateiberechtigungen von einem Host auf einen anderen verschiebt?

Antwort1

Um Berechtigungsprobleme zu beheben, sollte im Allgemeinen ein `sudo chown -R www-data:www-data folder" funktionieren. In meinem Fall habe ich vergessen, den Image-Tag anzugeben. Docker zieht automatisch das Image mit dem Tag „latest“; da ich seit einigen Jahren ein Docker-Compose-Projekt laufe, ist das „latest“-Image ein Image, das 2 Jahre alt ist. Ich habe dem neu migrierten Docker-Compose-Projekt den richtigen Image-Tag hinzugefügt und es funktioniert.

verwandte Informationen