我正在运行最新的Docker mac应用,并在我的项目目录中创建了一个新的docker-compose.yml
。 (这是我的wordpress主题)。
这是我下面的配置docker-compose.yml
文件...
version: '3.7'
networks:
wordpress:
ipam:
config:
- subnet: 172.25.0.0/16
services:
db:
image: mysql:5.7
volumes:
- ./db:/var/lib/mysql:delegated
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- .:/var/www/html/wp-content/themes/testing:delegated
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_DEBUG: 1
networks:
- wordpress
到目前为止,我发现它很棒。我在使数据库保持持久性方面遇到一些问题,并且弄清楚wp-content
文件夹需要将所有者设置为www-data
。
但是修复了以上问题之后,它的工作情况非常好,如果我docker-compose down
和up
我的数据库是持久性的。另外,我的数据库已从本地主题中撤出。
让我失望的是,如果我docker-compose down
或docker-compose rm
,我的plugins文件夹会自行重置。
我可以通过某种方式从Mac或项目主题文件夹映射本地文件夹吗?然后,我可以将插件存储在此处,以便docker-compose up -d
记住我的插件时。
任何想法都很棒。
例如,我可以将plugins文件夹放在本地主题文件夹项目中...
已解决!
因为我正在运行本地dev,npm,composer等。我的目标是保持一个真正简单的文件夹结构,因此我的主题是在phpStorm中进行项目开发的路径。
我现在通过添加以下体积映射(请参见下面的代码)在主题路由项目文件夹中添加了用于本地持久数据的插件和上载文件夹。
这不是您经典的Wordpress结构,但是我没有将plugins
和uploads
提交给版本控制或登台服务器环境。这些纯粹是用于我的本地持久性数据,以防万一docker-compose down
。
立即查看我的phpStorm项目结构...
查看我的docker-compose.yml
配置文件...
version: '3.7'
networks:
wordpress:
ipam:
config:
- subnet: 172.25.0.0/16
services:
db:
image: mysql:5.7
volumes:
- ./db:/var/lib/mysql:delegated
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- .:/var/www/html/wp-content/themes/testing:delegated
- ./plugins:/var/www/html/wp-content/plugins
- ./uploads:/var/www/html/wp-content/uploads
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_DEBUG: 1
networks:
- wordpress
感谢@Ludi Sistemaš的帮助。