Tengo dificultades para migrar/mover mi proyecto Docker Compoe con Wordpress y Mysql a un nuevo host.
Mi docker-compoye.yaml
es el siguiente:
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
La estructura del directorio es la siguiente:
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
He realizado las siguientes estrategias de migración para copiar el directorio/archivos completos al nuevo host:
- rsync el directorio completo (y subdirectorio) al nuevo historial
- cree un .tar del directorio local recursivo, muévase al nuevo host y extráigalo
Sin embargo, el permiso del archivo, por ejemplo en la ruta del volumen/directorio, .wordpress/plugins/
cambió de www-data
a mbecker
.
Al iniciar el proyecto de Docker Compose en el nuevo host, se produce el siguiente error de 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
** Los datos de la base de datos se importan correctamente a través del script de importación ** Los nombres DNS apuntan a la nueva IP y la directiva de proxy inverso de Nginx es la misma
¿Alguna idea de cómo mover los datos de un host a otro con el permiso de archivo correcto?
Respuesta1
En general, para solucionar problemas de permisos, debería funcionar `sudo chown -R www-data:www-data folder". En mi caso, omití especificar la etiqueta de imagen. Docker extrae automáticamente la imagen con la etiqueta "latest "; teniendo un proyecto de Docker Compose en ejecución durante algunos años, la imagen "más reciente" es una imagen que tiene 2 años. Agregué la etiqueta de imagen correcta al nuevo proyecto de Docker Compose migrado y está funcionando.