【从今天开始参与】使用docker-compose的方法在3分钟内构建WordPress开发环境

参与的任务使用Mac电脑,迅速构建WordPress开发环境。

我写这篇文章的原因为了确保在今后创建和更新WordPress网站时不会手忙脚乱,我将提供本地环境的配置方法。

环境Mac操作系统macOS High Sierra 10.13.4,Docker版本为18.06.0-ce,构建版本为0ffa825。

请安装Docker
[Docker for Mac]
https://www.docker.com/products/docker-desktop

程序

下载文件

从git仓库下载文件
https://github.com/abenosite/wp-docker-compose

解压文件。

.
├── docker-compose.yml
└── readme.md

使用终端在docker-compose.yml文件所在的位置运行命令。

docker-compose up -d

执行命令后,将创建名为”db_data”和”wp”的文件。

.
├── docker-compose.yml
├── db_data
│   ├── auto.cnf
│  
└── wp
    ├── index.php

4. 使用浏览器确认在浏览器中输入”http://localhost:8080″,进入WordPress的设置页面。

スクリーンショット 2018-08-26 0.56.56.png

结束只需要下载数据,并运行docker-compose up -d,就能简单地配置WordPress环境。
完成工作后,只需运行docker-compose down即可结束。

其他参考网站如果比较其他参考网站的docker-compose.yml文件,我认为你可以创建符合相关项目需求的结构。

参考网站:[使用docker-compose创建WordPress环境]
https://qiita.com/sayama0402/items/0f77861e059b38ea547a

这里提供一个选项,请用中文完全改写以下内容: 参考1GitHub代码库
https://github.com/fand/wp-theme-template

在终端中执行 git clone https://github.com/fand/wp-theme-template && cd wp-theme-template
在终端中执行 docker-compose up
本地机器上启动 WordPress 服务器
在浏览器中访问 http://localhost:8080
在 themes/ 目录下创建主题
在管理界面中设置主题

请提供更多上下文信息以便进行翻译。使用Docker Compose搭建WordPress环境。

什么是Docker Compose
使用Docker Compose创建WordPress环境
创建一个目录
创建docker-compose.yml文件
启动容器
检查容器的启动状态
访问网站
总结

使用中文进行本地化准寻。仅提供一种选择:[Docker构建的本地WordPress主题开发环境]
使用Docker搭建一个本地的WordPress主题开发环境。

动机
背景
Docker容器配置
Docker容器操作
启动Docker
检查正在运行的Docker容器
停止Docker容器
在Docker容器上执行命令
将命令传送到Docker容器
查看Docker日志
能够进行本地数据库备份
在执行多个服务时根据端口进行处理(暂定)

仅提供一个选项,以下为中文的同义改述:请参考第四项。这篇文章中包含有docker-compose.yml文件的公式和故障处理方法。
[使用docker-compose快速构建wordpress环境]
https://qiita.com/mom0tomo/items/7e611ac829863d4c5c82
(更新于2017年04月08日)

version: '2'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     image: wordpress:latest
     depends_on:
       - db
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

只需要一个选项的话,可以这样进行中文释义:
请看第5个参考。使用docker-compose构建WordPress主题开发环境。

version: "2"
services:
    wordpress:
        image: wordpress:latest
        ports:
            - "9000:80"
        depends_on:
            - db
        environment:
            WORDPRESS_DB_HOST: "db:3306"
        env_file: .env
        volumes:
            - ./themes/bones:/var/www/html/wp-content/themes/bones
    db:
        image: mysql:latest
        env_file: .env
        volumes:
            - db-data:/var/lib/mysql

# databaseのように永続的なストレージが欲しい場合に必要な設定
volumes:
    db-data:
        driver: local
.
├ docker-compose.yml
└ themes/
    └ bones/

请参考第6个选项。使用Docker Compose 创建了WordPress主题开发环境。

version: '2'

services:
   db:
     image: mysql:latest
     volumes:
       - db_data:/var/lib/mysql
     environment:
       MYSQL_DATABASE: wordpress(任意のDB名)
       MYSQL_USER: wp_user(任意のユーザ名)
       MYSQL_PASSWORD: password(任意のパスワード)
       MYSQL_RANDOM_ROOT_PASSWORD: "yes"
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8080:80"
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wp_user(上記で書いたDBのユーザ名)
       WORDPRESS_DB_PASSWORD: password(上記で書いたDBのパスワード)
volumes:
    db_data:
(任意のディレクトリ)/themes/hoge

这是一个参考值为7的选项。
使用docker-compose构建WordPress + MariaDB + nginx环境。

version: '2.0'

services:
    nginx:
        image: nginx
        ports:
            - '8080:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    mysql:
        image: mariadb 
        ports:
            - '3306:3306'
        volumes:
            - ./db-data:/var/lib/mysql 
        environment:
            - MYSQL_ROOT_PASSWORD=pass
        restart: always
    wordpress:
        image: wordpress:4.9-php7.1-fpm
        ports:
            - '9000:9000'
        volumes:
            - ./wordpress:/var/www/html
        environment:
            WORDPRESS_DB_NAME: wpdb
            WORDPRESS_TABLE_PREFIX: wp_
            WORDPRESS_DB_HOST: mysql
            WORDPRESS_DB_PASSWORD: pass
        links:
            - mysql
        depends_on:
            - mysql
        restart: always

参考资料8使用docker-compose可以方便地开发WordPress主题。

git 代码仓库
https://github.com/onsentamago/WordPressLocalThemeDevelopment

| version: '3.1' |
|:--|
|  |
| services: |
|  |
|   wordpress: |
|     image: wordpress |
|     restart: always |
|     ports: |
|       - 8080:80 |
|     links: |
|       - mysql |
|     environment: |
|       WORDPRESS_DB_HOST: mysql |
|       WORDPRESS_DB_USER: root |
|       WORDPRESS_DB_PASSWORD: examplepassword |
|     volumes: |
|       - ./theme:/var/www/html/wp-content/themes/new_theme |
|  |
|   mysql: |
|     image: mysql:5.7 |
|     restart: always |
|     environment: |
|       MYSQL_ROOT_PASSWORD: examplepassword |
|       MYSQL_DATABASE: wordpress |

参考9. 只需要一种选择,用中文将以下内容改述为不同的措辞:通过使用DockerCompose来构建WordPress并加深理解

1. 什么是DockerCompose
2. 试着使用DockerCompose构建Wordpress
3. 解释和修正docker-compose.yml文件

也实现了对WordPress数据的持久化处理。

请参考10使用Docker构建WordPress开发环境。

使用Docker Compose启动开发环境之前的准备工作。
提示:
想要将在主机操作系统上编辑的主题文件反映到WordPress容器中。
进入WordPress容器。
故障排除。

请参考第11项。[使用DOCKER-COMPOSE在本地最快恢复WORDPRESS(15分钟,MAC)]
链接:http://saitotoshiki.com/blog/2018/02/docker-compose_wordpress_mac

数据备份
安装Docker for Mac
创建docker-compose.yml文件
启动本地环境
恢复媒体文件、主题、插件等
修改域名
访问http://localhost:8888/Search-Replace-DB-master/
确认和其他操作

就参考12。
最近在Docker上进行WordPress主题的本地开发环境

从GitHub上克隆akahigeg/wordpress-theme-dev-local
运行docker-compose up -d
访问http://localhost:8888/

.
├── Dockerfile
├── README.md
├── devenv
│   ├── languages
│   │   ├── admin-ja.mo
│   │   ├── admin-ja.po
│   │   ├── admin-network-ja.mo
│   │   ├── admin-network-ja.po
│   │   ├── continents-cities-ja.mo
│   │   ├── continents-cities-ja.po
│   │   ├── ja.mo
│   │   ├── ja.po
│   │   ├── plugins
│   │   │   ├── akismet-ja.mo
│   │   │   ├── akismet-ja.po
│   │   │   ├── custom-post-type-permalinks-ja.mo
│   │   │   ├── custom-post-type-permalinks-ja.po
│   │   │   ├── debug-bar-ja.mo
│   │   │   ├── debug-bar-ja.po
│   │   │   ├── theme-check-ja.mo
│   │   │   ├── theme-check-ja.po
│   │   │   ├── tinymce-advanced-ja.mo
│   │   │   ├── tinymce-advanced-ja.po
│   │   │   ├── user-role-editor-ja.mo
│   │   │   ├── user-role-editor-ja.po
│   │   │   ├── wordpress-importer-ja.mo
│   │   │   ├── wordpress-importer-ja.po
│   │   │   ├── wp-pagenavi-ja.mo
│   │   │   └── wp-pagenavi-ja.po
│   │   └── themes
│   │       ├── twentyfifteen-ja.mo
│   │       ├── twentyfifteen-ja.po
│   │       ├── twentyseventeen-ja.mo
│   │       ├── twentyseventeen-ja.po
│   │       ├── twentysixteen-ja.mo
│   │       └── twentysixteen-ja.po
│   ├── php.ini
│   ├── plugins
│   │   ├── akismet
│   │   │   ├── LICENSE.txt
│   │   │   ├── _inc
│   │   │   │   ├── akismet.css
│   │   │   │   ├── akismet.js
│   │   │   │   ├── form.js
│   │   │   │   └── img
│   │   │   │       └── logo-full-2x.png
│   │   │   ├── akismet.php
│   │   │   ├── class.akismet-admin.php
│   │   │   ├── class.akismet-cli.php
│   │   │   ├── class.akismet-rest-api.php
│   │   │   ├── class.akismet-widget.php
│   │   │   ├── class.akismet.php
│   │   │   ├── index.php
│   │   │   ├── readme.txt
│   │   │   ├── views
│   │   │   │   ├── config.php
│   │   │   │   ├── get.php
│   │   │   │   ├── notice.php
│   │   │   │   ├── start.php
│   │   │   │   └── stats.php
│   │   │   └── wrapper.php
│   │   ├── debug-bar
│   │   │   ├── css
│   │   │   │   ├── debug-bar.css
│   │   │   │   └── debug-bar.dev.css
│   │   │   ├── debug-bar.php
│   │   │   ├── js
│   │   │   │   ├── debug-bar-js.dev.js
│   │   │   │   ├── debug-bar-js.js
│   │   │   │   ├── debug-bar.dev.js
│   │   │   │   ├── debug-bar.js
│   │   │   │   ├── ui-dockable.dev.js
│   │   │   │   └── ui-dockable.js
│   │   │   ├── panels
│   │   │   │   ├── class-debug-bar-deprecated.php
│   │   │   │   ├── class-debug-bar-js.php
│   │   │   │   ├── class-debug-bar-object-cache.php
│   │   │   │   ├── class-debug-bar-panel.php
│   │   │   │   ├── class-debug-bar-php.php
│   │   │   │   ├── class-debug-bar-queries.php
│   │   │   │   ├── class-debug-bar-request.php
│   │   │   │   └── class-debug-bar-wp-query.php
│   │   │   └── readme.txt
│   │   ├── debug-bar-actions-and-filters-addon
│   │   │   ├── class-debug-bar-action-and-filters-addon.php
│   │   │   ├── css
│   │   │   │   └── debug-bar-actions-filters.css
│   │   │   ├── debug-bar-action-and-filters-addon.php
│   │   │   ├── index.php
│   │   │   ├── languages
│   │   │   │   └── debug-bar-actions-and-filters-addon.pot
│   │   │   ├── php5.3-closure-test.php
│   │   │   └── readme.txt
│   │   ├── hello.php
│   │   ├── index.php
│   │   └── theme-check
│   │       ├── assets
│   │       │   ├── gray-grad.png
│   │       │   └── style.css
│   │       ├── changelog.txt
│   │       ├── checkbase.php
│   │       ├── checks
│   │       │   ├── admin_menu.php
│   │       │   ├── adminbar.php
│   │       │   ├── badthings.php
│   │       │   ├── basic.php
│   │       │   ├── cdn.php
│   │       │   ├── comment_reply.php
│   │       │   ├── commpage.php
│   │       │   ├── constants.php
│   │       │   ├── content-width.php
│   │       │   ├── customizer.php
│   │       │   ├── customs.php
│   │       │   ├── dep_recommend.php
│   │       │   ├── deprecated.php
│   │       │   ├── deregister.php
│   │       │   ├── directories.php
│   │       │   ├── editorstyle.php
│   │       │   ├── favicon.php
│   │       │   ├── filenames.php
│   │       │   ├── generated.php
│   │       │   ├── gravatar.php
│   │       │   ├── i18n.php
│   │       │   ├── iframes.php
│   │       │   ├── include.php
│   │       │   ├── included-plugins.php
│   │       │   ├── lineendings.php
│   │       │   ├── links.php
│   │       │   ├── malware.php
│   │       │   ├── more_deprecated.php
│   │       │   ├── navmenu.php
│   │       │   ├── nonprintable.php
│   │       │   ├── phpshort.php
│   │       │   ├── plugin-territory.php
│   │       │   ├── post-formats.php
│   │       │   ├── postsnav.php
│   │       │   ├── postthumb.php
│   │       │   ├── screenshot.php
│   │       │   ├── searchform.php
│   │       │   ├── style_needed.php
│   │       │   ├── style_suggested.php
│   │       │   ├── style_tags.php
│   │       │   ├── tags.php
│   │       │   ├── textdomain.php
│   │       │   ├── time_date.php
│   │       │   ├── title.php
│   │       │   ├── uri.php
│   │       │   ├── widgets.php
│   │       │   └── worms.php
│   │       ├── main.php
│   │       ├── readme.txt
│   │       └── theme-check.php
│   └── wp-config.php
├── docker-compose.yml
└── src
    ├── footer.php
    ├── header.php
    ├── index.php
    └── style.css

参考第13个选项。
在Docker上运行个人用的WordPress- まがり的日记的博客

将wordpress的代码下载下来,执行git init并将其用于版本控制管理。
使用RDS作为数据库。
在主机上运行nginx。

可以参考第14个选项。我开始使用Docker进行WordPress主题开发和操作。

飞天仙人掌

请参考第15项使用Docker进行本地开发,直至部署到生产环境。

他人的建议

尝试以最快速度搭建WordPress环境

1. 在本地运行Web服务器+ PHP + MySQL
2. 创建文件夹后,在虚拟主机中进行识别
3. 实现无需修改Hosts文件即可访问
4. 下载WordPress,进行初始设置和插件安装

工作原理:
– Apache,PHP,MySQL(Homebrew)
– Apache的VirtualDocumentRoot
– 使用Dnsmasq进行DNS通配符设置
– 更改DNS引用位置
– 使用wp-cli

bannerAds