AWS上でDockerを使ってWordPressを動かす　(コマンドほぼ不要)



# ざっくり

- 先日こんなタイトルのハンズオンに参加してきた
- 実はWordPress触った事ない人多いんでないか？
- どうせならDocker使ってみよう
- ついでにまだまだEarlyAdapterになれる、DockerのGUIツール、Panamaxも使っちゃおう
- これのお陰で非エンジニアでも割りと簡単にWordPress動かせちゃうよ。
- よし！動いたぜ！！でもちょっと拍子抜け。


# インスタンス作成とssh

OSは **Core**OS にする。
**Cent**OS じゃないよ！

## Why CoreOS？
- 最近、流行りのディストリビューション。Google、Facebook、Twitterなどの重鎮も使ってる。
- 耐障害性の高いインフラ構築を目的としてクラウドやデータセンター向けに開発された。
- 派生元はChromeOS。

でも、CoreOSはDockerじゃなくて独自路線[rocket](https://github.com/coreos/rocket)で行くとか何とか・・・
#### 参考
[【翻訳】なぜDockerとCoreOSの決裂は予測できたか](http://postd.cc/modular-integrated-docker-coreos/)



## AMIの選択
CoreOSはAWSの管理画面からは起動出来ない。
というか、知らないので、以下から起動をする。
https://coreos.com/docs/running-coreos/cloud-providers/ec2/


![スクリーンショット 2015-02-17 14.27.55.png](https://qiita-image-store.s3.amazonaws.com/0/68214/9cc6a9bb-c37d-e04c-4a6c-6529f6e62bc7.png "スクリーンショット 2015-02-17 14.27.55.png")

`ap-northeast-1`が東京リージョンなのでこちらを選択

## インスタンス起動

先のcoreOSのページでリンクを踏むとAWSのインスタンス画面が表示される。
適当にインスタンスを起動させる。

※AWSにログインしていない場合は、ログイン画面が表示され、認証後にインスタンス起動画面が表示される。

### 注意点
- インスタンスはt2.medium以上が推奨だった気がする。
- t2.microでも不安定ながらギリギリ動く。
- ディスクは8Gだと心もとないとかいう記事を見かけたので16Gにした。(ソース行方不明)

せっかく軽量ディストリビューションを使っているのにマシンスペックを気にするとはこれ如何に。


## ssh

鍵ファイルを新規に作った場合はchmodを忘れずに。

```Bash
chmod 400 foo.pem
```

準備が出来たので鍵ファイル指定してログイン。
coreOSではAmazonLinuxの様にデフォルトのユーザは ```ec2-user``` ではなく ```core``` なので、こんなコマンド。


```Bash
ssh -i ~/.ssh/foo.pem core@XXX.XXX.XXX.XXX
```

# Panamax
インストールから起動まで

## インストール

https://github.com/CenturyLinkLabs/panamax-ui/wiki/Installing-Panamax
こちらを参考に実施

```Bash
$ mkdir ~/.panamax
$ cd ~/.panamax
$ curl -O http://download.panamax.io/installer/panamax-latest.tar.gz
$ mkdir -p ~/.panamax && tar -C ~/.panamax -zxvf panamax-latest.tar.gz
$ sudo ./coreos install
```

- - pmx-installer-latest.tar.gzを指定すれば最新が取れる。(素晴らしい！)
- coreosの場合は独自のスクリプトがあるっぽいのでそれを使った。
- Ubuntsもubunts.shがあるっぽい。


## 起動
initコマンドを叩くとこんな感じの画面になる

```
$ ./panamax init

███████╗ ██████╗  █████████╗ ██████╗  ██████████╗ ██████╗  ██╗  ██╗
██╔══██║  ╚═══██╗ ███╗  ███║  ╚═══██╗ ██║ ██╔ ██║  ╚═══██╗ ╚██╗██╔╝
██   ██║ ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║  ╚███╔╝
███████╝ ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║  ██╔██╗
██║      ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║ ██╔╝ ██╗
╚═╝      ╚══════╝ ╚══╝  ╚══╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝  ╚═╝

CenturyLink Labs - http://www.centurylinklabs.com/

Checking if required software is installed.

/home/core/.panamax/desktop: line 55: vagrant: command not found
Please install vagrant version 1.6.3 or newer (https://www.vagrantup.com/downloads.html).
```

vagrantを1.6.3以上をインストールしてくれという警告文が出ているけど

http://[ip-addr]:3000/
にアクセスしたら無事にpanamaxの画面が出たので、とりあえず続ける。
※AWS上でポートを開けておくのを忘れずに。

_vagrantを使ってインスタンスを立ち上げなおすのはそのうちやろう・・・_

![スクリーンショット 2015-02-21 18.43.26.png](https://qiita-image-store.s3.amazonaws.com/0/68214/81efe4d0-02a6-28a4-146e-af96ea414975.png "スクリーンショット 2015-02-21 18.43.26.png")


# WordPressを起動

## panamaxからWordPressをインストールする

### templateからWordPressを選択して起動
![スクリーンショット 2015-02-21 18.43.26.png](https://qiita-image-store.s3.amazonaws.com/0/68214/e5b7d431-43f6-a6f1-a549-8f1f199cfc46.png "スクリーンショット 2015-02-21 18.43.26.png")


![スクリーンショット 2015-02-21 18.48.42.png](https://qiita-image-store.s3.amazonaws.com/0/68214/13eff7bb-55df-2f95-1de1-1afb68a5c344.png "スクリーンショット 2015-02-21 18.48.42.png")

### インストール中

![スクリーンショット 2015-02-21 18.47.40.png](https://qiita-image-store.s3.amazonaws.com/0/68214/adc68d33-d7cb-30a4-8614-87f5f70a64db.png "スクリーンショット 2015-02-21 18.47.40.png")


しばらくするとStartUpみたいな文字がコンソールに出力されると無事にWordPressのテンプレートが起動する。

嘘みたいだろ。。。これ、Docker使っているんだぜ。


### WordPressのセットアップ

http://[ip-addr]:8080/
※AWS上でポートを開けておくのを忘れずに。


![スクリーンショット 2015-02-21 18.52.26.png](https://qiita-image-store.s3.amazonaws.com/0/68214/c8a221cf-aeb5-1a31-0559-21ebd9e4596e.png "スクリーンショット 2015-02-21 18.52.26.png")

で、お好みの言語を選んでセットアップする。

こんな感じ。


これだけでDockerを全く意識せずにDocker上でWordPressが動いた。