使用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。

intellij-db-setting.png

啊!以前的例子中User可能不是Root…真抱歉!ʕ•ᴥ•ʔ<就不要全部替换了!

广告
将在 10 秒后关闭
bannerAds