最近刚好遇上实战部署Docker,它可以不顾本地环境如何,采用Compose定义Dockerfile文件,部署好应用程序的环境,一键启动并运行整个应用程序,后续只要这个文件里存在当初定义好的Dockerfile文件,就可以直接运行测试了。所以尝试用Docker在本地搭建WordPress5.5的开发环境,下面是爬完坑的最终结果,可以拿来借鉴。
我们的技术分享 07 Skywen天问信息 作者 Mogmail 2021.02.24
部署源码
首先,先新建docker-compose.yml,定义好所需的数据库和php:
version: '3' services: db: image: mysql:latest volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress1 ports: - 3307:3306 php: image: wordpress:5.5 ports: - "8080:80" volumes: - ../:/var/www/html links: - db:mysql depends_on: - db volumes: db_data: {}
wp-config文件里的数据库账号密码需要和上面的文件相互对应,修改如下:
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define( 'DB_NAME', 'wordpress1' ); /** MySQL数据库用户名 */ define( 'DB_USER', 'root' ); /** MySQL数据库密码 */ define( 'DB_PASSWORD', '123456' ); /** MySQL主机 */ define( 'DB_HOST', 'mysql' ); /** 创建数据表时默认的文字编码 */ define( 'DB_CHARSET', 'utf8mb4' ); /** 数据库整理类型。如不确定请勿更改 */ define( 'DB_COLLATE', '' );
最后,右键文件,Compose Up就可以运行起来了。
修改文件以后,直接保存,刷新浏览器,就能热更新了。
注意:
- 因为文件本身是WordPress,所以不用再依赖wordpress镜像
- 上传文件的时候,docker-compose.yml文件需要忽略
- 如果一开始就在服务器里用Docker部署了WordPress,那么需要忽略wp-config.php,以防和线上的构建冲突
- 数据库里的数据如果想和线上的统一,那就让后端拷贝一份
原文链接:https://blog.csdn.net/Skywen_/article/details/114079043?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168623078216800184162743%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168623078216800184162743&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-11-114079043-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81