GCPの無料枠でWordPressを起動して運用するまでの備忘録 2

### 背景
前回GCPに Ubuntu 18.04 LTS Minimal のインスタンスを作成したので、そこに Docker をインストールして、WordPress を立ち上げます。

- [GCPの無料枠でWordPressを起動して運用するまでの備忘録 1][1]
[1]:https://qiita.com/pooh_ichi/items/d82aebbab798fe1cb663
今回は、こちら ↓ を参考にさせて頂きました。

- [Ubuntu 18.04にDockerをインストールする(+docker-composeも)][2]
[2]:https://qiita.com/iganari/items/fe4889943f22fd63692a
### repositoryをアップデートする
apt パッケージのアップデート。
`$ sudo apt update`
HTTPS経由でrepositoryをやりとり出来るようにするためのパッケージをインストール。

```latex
$ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
```
Dockerの公式GPG keyを追加する。

```latex
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
repository( stable ) を追加する。

```latex
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 
```

再度 apt パッケージのアップデート
`$ sudo apt update`
### docker-ce をインストールする
インストール。
`$ sudo apt install -y docker-ce`
起動確認。
`$ sudo systemctl status docker`
プロセスの確認(sudo有)
`$ sudo docker ps`
### 指定した一般ユーザでも sudo 無しでdockerを使えるようにする
初期設定では出来ない

```latex
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json: dial unix /var/run/docker.sock: connect: permission denied
```
一般ユーザをDockerグループに追加する

```latex
### 確認
$ cat /etc/group | grep docker
docker:x:999:

### 追加
$ sudo gpasswd -a xxxx docker

### 再確認
$ cat /etc/group | grep docker
docker:x:999:xxxx
```
dockerが使用するソケットを一般ユーザでも読み込み出来るようにする
`$ sudo chmod 666 /var/run/docker.sock`
プロセスの確認(sudo無)
`$ docker ps`
### docker-composeをインストール
最新のバージョンを確認

- [リリース・ノート][3]
[3]:https://github.com/docker/compose/blob/master/CHANGELOG.md

`$ export compose='1.24.0'`
/usr/local/bin/ 配下にダウンロード

```latex
$ sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
```
実行権限の付与
`$ sudo chmod 0755 /usr/local/bin/docker-compose`

確認(sodo無)

```latex
$ docker-compose -v
docker-compose version 1.24.0, build 0aa59064
```
### WordPress と Mysql インスタンスを個別に起動
プロジェクト用の空のディレクトリを作成
`$ mkdir ghidorah_wordpress`
`$ cd ghidorah_wordpress`
docker-compose.yml ファイルを作成

```latex
version: '3'

services:
  mysql:
    image: mysql:5.7
    container_name: ghidorah-mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: xxxx
    volumes:
      - "./.data/db:/var/lib/mysql"

  wordpress:
    image: wordpress:latest
    depends_on:
      - mysql
    container_name: ghidorah-wordpress
    restart: always
    ports:
      - 80:80
    environment:
      WORDPRESS_DB_PASSWORD: xxxx
    volumes:
      - "./html:/var/www/html"
```
docker-compose をバックグランドで起動
`$ docker-compose up -d`
WordPress が起動。確認のため、ブラウザでアクセスしてみる。
WordPress インストール画面が表示されていれば成功。
![WP01.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236301/f2d4f4af-65b6-2890-c762-391f70ed5ef5.jpeg)
手順通りインストールを進める。
![WP02.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236301/9ad65848-8a01-3f49-2b0e-387ac92d2a6e.jpeg)
![WP04.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236301/6d7f592b-3414-7062-a875-d60970d54279.jpeg)
![WP05.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236301/b49e62eb-e029-8254-85cb-b078c4bd22e4.jpeg)
![WP06.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236301/55521a82-49e2-dad0-b747-5db32e05581a.jpeg)
### まとめ
WordPress が起ち上がったので、次回は独自ドメインの設定をします。