使用Docker在OSX上进行WordPress开发
说明
WordPress是迄今为止业余和专业博客作者使用的最受欢迎的内容管理系统。
通过选择在开发环境中使用Docker,我们可以受益于拥有一个可以立即立起并可以立即工作的环境,而无需大量的系统资源。开发时间的增加是Docker和容器变得如此流行的原因之一。
Docker将进程与系统的其余部分隔离。与虚拟化非常相似,只是虚拟化的占地面积更小。 Docker是在本地计算机上进行开发和测试的理想人选。借助Docker,我们可以直接直接开发到Ubuntu,CentOS或者其他Linux发行版,而无须设置物理服务器或者创建虚拟服务器,而必须在其中安装操作系统,对其进行配置,然后进行准备。它用于托管我们的开发环境。
可以使用Docker本身来创建我们的测试环境,但是,我们将使用Docker Compose定义我们的测试环境,并迅速站起来并降低我们的开发环境。
在OSX上安装Brew
运行OSX时,首选的软件包管理器是Brew。它使我们能够快速安装依赖项以进行应用程序开发。因此,在开始创建开发环境之前,我们需要安装Brew。
- 打开一个新的终端窗口。
- 执行以下命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装Docker
到Docker的网站下载安装Docker的二进制文件。
安装Docker Compose
- 打开一个终端窗口。
- 使用Brew,安装Docker Compose。
brew install docker-compose
Docker Pull最新MySQL和WordPress镜像
如今,我们通常可以找到一个包含所有内容的官方Docker容器。这使我们能够专注于开发,而不是从头开始创建自己的容器。为了准备我们的环境,我们将预先下载WordPress开发所需的两个图像WordPress和MySQL。
- 打开一个新的终端窗口。
- 拉最新的WordPress图像。
docker pull wordpress
- 拉最新的MySQL镜像。
docker pull mysql
创建Docker开发环境
我们需要一个位置来存储我们的Docker配置,与我们开发主题和插件的位置分开。创建一个新目录,该目录将用于存储与Docker开发环境相关的文件。
- 打开一个终端窗口。
- 为我们的Docker环境创建一个新的项目目录。例如,〜/ Projects / WP_Development。
mkdir -p ~/Projects/WP_Development
- 导航到新创建的目录。
cd ~/Projects/WP_Development
- 创建一个名为docker-compose.yml的新文件。
- 将新创建的docker-compose.yml打开到文本编辑器或者IDE中,然后定义开发环境。
- 添加以下内容。
web: image: wordpress links: - mysql environment: - WORDPRESS_DB_PASSWORD=super_secret_password ports: - "8081:80" volumes: - ~/Projects/Wordpress/plugins/myplugin:/var/www/html/wp-content/plugins/myplugin - ~/Projects/Wordpress/themes/theitroad:/var/www/html/wp-content/themes/theitroad mysql: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=super_secret_password - MYSQL_DATABASE=wordpress
- 上面的配置创建了一个将运行WordPress的Web实例。它与另一个名为mysql的实例链接,该实例运行MySQL 5.7版。我们公开了Web实例的端口80,并将其映射到本地主机(Mac)端口8081. 这些卷使我们可以将主机中的目录添加到docker镜像,这对于实时开发WordPress插件和主题至关重要。
运行开发环境
我们终于能够启动我们的开发环境。 Docker compose使此过程非常容易,因为我们可以简单地告诉docker compose改善我们的环境。
启动环境
docker-compose up
上面的命令将在前台运行docker-compose。如果我们希望将其作为后台进程运行,请使用-d标志。
docker-compose up -d
如果一切顺利,docker-compose输出将类似于以下内容。
Docker组成输出
我们现在应该可以使用网络浏览器导航到WordPress实例。在我们的示例中,我们使用端口8080,因此我们将浏览器打开到http:// localhost:8080。
停止环境
docker-compose stop
破坏环境
docker-compose rm
列出正在运行的实例
docker-compose ps