WordPressの検証環境などを作成する時に、いちいちwebサーバ、php、DBをインストールするのは、面倒です。
Dockerを使ってサクッとWordPressを建てていきます。
今回紹介する方法は2つあります。
mysql5.7系とWordPress最新版を使って構築していきます。
まずは、EC2でAmazonLinux2を起動します。
起動したらsshしてください。
Dockerを使うためにいろいろ設定
Dockerをインストール
$ sudo yum -y update #まずはアップデート $ sudo yum -y install docker $ docker --version Docker version 19.03.6-ce, build 369ce74
Dockerのバージョンが出ていれば、インストール成功です。
Dockerを起動
Dockerを起動から自動起動まで
$ sudo systemctl start docker #スタート $ sudo systemctl enbale docker #自動起動
Dockerコマンドにsudoをいらなくする。
現時点だと、docker image
などの、コマンドを使うと、Permission deniedになるので、いちいちsudo
をつけるか、rootユーザになるしかないです。
ということで、sudoをいらなくします。
# dockerグループがなければ作る $ sudo groupadd docker # 現行ユーザをdockerグループに所属させる $ sudo gpasswd -a $USER docker # dockerデーモンを再起動する (CentOS7の場合) $ sudo systemctl restart docker # exitして再ログインすると反映される。 $ exit
コマンド参考
1つづつダウンロードして起動
mysqlとWordPressを個別にダウンロードする方法です。
面倒なうえに、1つづつ起動させないと、使えないので、あまり推奨はしませんが、なにかの時に使うかもしれないので。
以下を実行して、DockerでWordPressを起動させます。
docker pull mysql:5.7.25 docker pull wordpress docker run --name mysql -e MYSQL_ROOT_PASSWORD=Hogehoge@1234 -d mysql:5.7.25 docker run --name wordpress --link mysql:mysql -d -p 8080:80 wordpress
実行すると、WordPressが建てられています。
http://IPアドレス:8080
にアクセスしてください。
あとはWordPressのインストールに従うだけです。
アクセス出来ないときは、セキュリティグループの設定を見直してください。
8080ポートが空いていない可能性があります。
Docker Composeを使う
こちらの方法がおそらく一般的です
まずは任意のディレクトリを作成して、その中に、docker-compose.yml
というファイルを作成します。
$ mkdir wordpress $ cd wordpress $ vim docker-compose.yml
docker-compose.yml
の中身は公式ページを参考にしました。
ポートを8000から80に変更しています。
version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress ports: - "3306:3306" wordpress: depends_on: - db image: wordpress:latest environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress ports: - "80:80" restart: always volumes: db_data: {}
ファイルが作成できたら、docker-compose.yml
があるディレクトリで以下を実行します。
$ docker-compose up -d
実行し起動に成功すると、WordPressが起動されます。
http://IPアドレス
にアクセスしてみましょう
見慣れたWordPressのインストール画面が出てきます。
こちらもアクセス出来ないときは、セキュリティグループで80ポートが空いているか確認してください。
-dオプションをつけないと、バックグラウンドで起動しないので、注意が必要です。
docker-composeの主要コマンド
停止や再起動などの主要なコマンドです。
$ docker-compose stop #停止 $ docker-compose start #起動 $ docker-compose restart #再起動 $ docker-compose down #削除
おわりに
Dockerを使い始めてまだ日が浅いのですが、便利さには気づくことが出来ました。
AWSにはコンテナのサービスがECSやEKSがあるので、触れたら触ってみたいです。