我正在努力將我的 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
我已經完成了以下遷移策略來將完整的目錄/檔案複製到新主機:
- 將完整目錄(和子目錄)同步到新的歷史記錄
- 遞歸建立本地目錄的 .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 資料夾”應該可行。的映像。