我试图弄清楚为什么在 Docker 上运行安装时,我的主题中没有加载 CSS、JS 和图像等资产。
这是我的docker-compose.yml
version: "3.3"
services:
db:
image: mysql:8
container_name: blogpn_mysql
restart: always
command: "--default-authentication-plugin=mysql_native_password"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wpdb
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
networks:
- blogpn_network
wordpress:
image: wordpress:latest
container_name: blogpn_wordpress
restart: always
volumes:
- ./wp-content/themes:/var/www/html/wp-content/themes
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wpdb
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: password
ports:
- 8211:80
- 443:443
depends_on:
- db
networks:
- blogpn_network
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: blogpn_phpmyadmin
restart: always
ports:
- 3333:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
volumes:
db_data: {}
networks:
blogpn_network: {}
对于 CSS 和 JS 之类的文件,我收到网络错误 500(样式的 URL 为http://localhost:8211/wp-content/themes/mytheme/style.css
),对于图像则收到网络错误 404。我不确定我遗漏了什么。
答案1
我想我最近遇到了类似的事情,结果是文件所有权问题。
我连接到容器的控制台并在/var/www/html/
目录中运行以下命令(该目录的来源链接如下):
chown www-data:www-data -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
从那时起,肯定要花时间进行 Wordpress 强化,以确保你的最终权限已拨入。
希望这可以帮助!
我使用的 OG 文章:https://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress