LoginSignup
5
5

More than 5 years have passed since last update.

Dockerを導入 Wordpress環境を構築

Last updated at Posted at 2017-11-18

話題の仮想化環境であるdockerに触れてみました。
導入にあたり、助けていただいた勉強会&qiita
2時間でマスターしちゃう Docker ECSハンズオン
docker-composeでwordpress環境をサクッと構築する

目的

・dockerを用いてwordpress環境を作ることを目的とする。
・今後導入しやすいように「docker-compose」を作成する。
・dockerのコマンドについて覚える

インストール

公式のサイトからインストールする
●Mac用、windows用それぞれある。
※windowsの場合はwindows10proで無ければならない。(toolboxなどをさらにインストールしなければならずやや面倒くさいみたいです)
https://docs.docker.com
インストール後に正しく動いているのかの確認は下記のコマンドを実行

command
docker version

docker-compose作成

docker-compose.yml
version: "2"
services:
  wordpress:
    image: wordpress:latest
    volumes:
      - "$PWD:/var/www/html"
      - "$PWD/.docker/backup:/tmp/backup"
      - "$PWD/.docker/log:/tmp/log"
    ports:
      - "8080:80"
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: "db:3306"
    env_file: .env

  db:
    image: mysql:5.7
    volumes:
      - "db-data:/var/lib/mysql"
    env_file: .env

volumes:
  db-data:
.env
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=admin
WORDPRESS_DB_PASSWORD=pass

MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_DATABASE=wordpress
MYSQL_USER=admin
MYSQL_PASSWORD=pass

githubはこちら

buildする

buildするディレクトリ(test3)を作成し、移動する。

command
mkdir test3
cd test3

ビルド実行

command
docker-compose up -d

local環境で画面確認

http://localhost:8080
wordpressのインストール画面が見えましたら、成功です。

各種コマンドについて

イメージの確認

command
docker images

稼働中のコンテナ一覧

command
docker ps

稼働中・稼働停止も含めたコンテナ一覧

command
docker ps -a

稼働コンテナの停止

command
docker stop [コンテナ名]

停止コンテナの稼働

command
docker start [コンテナ名]

コンテナの削除

command
docker rm [コンテナ名]

イメージの削除

command
docker rmi [イメージ名]

苦戦したところ、解らなかったところ

①8000:80が動かない

docker-compose.ymlファイルを作成するにあたり、wordpressのport番号を「- "8000:80"」にしたかったが、(port is already allocated) と出て起動させてくれなかった。練習でdockerを立ち上げていてすでに8000番を使っていたのだろうか、そうであれば8000番ポートを解除してちゃんと使えるようにしたいのだが、よくわからずでした。
しょうがなく「- "8080:80"」にしたら起動した。

②$PWDとは

「volume」がホスト側でファイルを操作するための設定であると聞きました。今回のdocker-compose.ymlファイルには下記のように記述しました。

docker-compose.yml
    volumes:
      - "$PWD:/var/www/html"
      - "$PWD/.docker/backup:/tmp/backup"
      - "$PWD/.docker/log:/tmp/log"

・【$PWD】これはどのような意味なのか(省略文字なのか)?。
(/test3/という階層にwpファイル群が展開していったのでなんとなく意味はわかるが)
・下の二つの隠しフャイル展開しているものはどのように使えば良いのか(不要ならば消したい)

③ホスト側のdbの場所がわからない

dbでの「volume」でも下記のような設定をしました。

docker-compose.yml
    volumes:
      - "db-data:/var/lib/mysql"

この設定をしたがファイル群を見ても「db-data」という階層が見当たらない、どこにdb情報が格納されているのかがわからない。
local環境で開発後にサーバーにデプロイするために、db情報がどこにあるかわからないのは致命的である。

5
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5