使用Docker Compose 快速部署WordPress开发环境
因为要在Qiita上写文章,我要说一下最近的话题——DIP Advent Calendar 2016。
我刚刚购买了MacBook Pro带触控栏的15英寸型号(2016年末)。虽然我刚在11月27日收到它,但比我想象中的好…ʕ•ᴥ•ʔ
对于我来说,我非常喜欢设置新的电脑。
我不打算使用TimeMachine来进行一次性设置,而是要一边审视开发环境,一边坚持不懈地进行设置!
由於某種情況,這次我需要建立一個WordPress環境並且努力執行。之前我一直使用VirtualBox + Vagrant去懶散地過日子,有時還會在本地亂搞一通。但現在我想要做得更正規一些,所以選擇了使用Docker。
安装Docker for Mac
开始使用Docker for Mac – 按照Docker的安装步骤进行安装。
$ docker --version
Docker version 1.12.3, build 6b644ec
$ docker-compose --version
docker-compose version 1.8.1, build 878cff1
$ docker-machine --version
docker-machine version 0.8.2, build e18a919
版本是这样的。
建立WordPress环境
快速入门:使用Docker和WordPress – 已经有了一个方便的教程。根据这个教程,我稍微进行了一些修改来创建自己的开发环境。
创建一个目录并移动进去。
在创建的目录中创建一个docker-compose.yml文件。
$ mkdir ~/wordpress-project
$ cd ~/wordpress-project
内容如下。
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "$PWD/.data/db:/var/lib/mysql"
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- "$PWD:/var/www/html"
links:
- db
ports:
- "1010:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
我将WordPress和数据库创建为独立的容器。
由于我想在本地进行开发,所以使用卷来将本地和容器进行挂载。
{ローカル}:{コンテナ}
然后,开始构建。
$ docker-compose up -d
确认之后,就是这个样子。
$ docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------
wordpressproject_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
wordpressproject_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:1010->80/tcp
当访问http://localhost:1010/时,可以开始进行WordPress的设置(例如选择语言或创建管理用户)。
ʕ•ᴥ•ʔ<太棒了!无论是node还是go,以后都使用Docker吧!
经常使用的命令
这些是我目前经常使用的命令。
设置别名后,ʕ•ᴥ•ʔ<超方便!
创建和启动容器。即使修改了yml文件。
$ docker-compose up -d
停止容器。
$ docker-compose stop
容器启动。
$ docker-compose start
看着所有的容器从中站起来。
$ docker ps -a
附赠品
在使用IntelliJ连接数据库容器时的设置。
ʕ•ᴥ•ʔ<我心情很E。
啊!以前的例子中User可能不是Root…真抱歉!ʕ•ᴥ•ʔ<就不要全部替换了!