Dockerでサーバー環境を構築する方法!初心者向けの実践ハンズオン
前回の記事では、Docker(ドッカー)を「必要なものがすべて詰まったお弁当箱」に例えて、その便利な仕組みを解説しました。
「理屈はなんとなく分かったけれど、実際にどうやって自分のパソコンにサーバーを作るの?」と疑問に思っている方も多いはずです。
今回は実践編として、あなたのパソコンの中に「WordPressが動く本格的なWebサーバー環境」をたった数分で構築する手順を紹介します。黒い画面(ターミナル)を使いますが、基本的にはコピー&ペーストで完了するので安心してください。
複数の箱を連携させる「Docker Compose」とは?
実際のWebサイトを動かすためには、「Webサーバー(接客係)」と「データベースサーバー(食材庫)」の2つの役割が必要だと以前の記事で解説しました。
Dockerの世界でも同じように、「WordPressのコンテナ(箱)」と「データベースのコンテナ(箱)」の2つを用意して、お互いを繋ぐ必要があります。
これを手作業で1つずつ立ち上げて設定するのは大変なので、「Docker Compose(ドッカー・コンポーズ)」という便利な機能を使います。 例えるなら、ご飯とおかずを別々に注文するのではなく、「A定食セットをお願い!」と書かれた注文書(ファイル)を一枚渡すだけで、厨房がすべて自動でセットして出してくれる魔法の仕組みです。
【実践手順】WordPressサーバーを立ち上げてみよう
それでは、実際に「注文書」を書いて、自分のパソコン上にサーバー環境を構築してみましょう。
ステップ1:事前準備(Dockerのインストール)
まだパソコンにDockerが入っていない場合は、公式サイトから「Docker Desktop」をダウンロードし、インストールを済ませておいてください。(WindowsでもMacでも無料で使えます)
ここから『ユーザー定義HTML』ブロック
ステップ2:作業用のフォルダと「注文書」を作る
パソコンのデスクトップなどに「my-wp」というような新しいフォルダを作ります。
そのフォルダの中に、メモ帳などのテキストエディタを使って、以下の名前で新しいファイルを作成してください。
- ファイル名:
docker-compose.yml(※拡張子に注意)
これが「A定食セットの注文書」になります。ファイルの中に、以下の英語の文字をそのままコピーして貼り付け、保存します。
YAML
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
wordpress:
image: wordpress:latest
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
(※この注文書には「MySQLのデータベースと、最新版のWordPressを準備して、パスワードは『password』で繋いでね」という指示が書かれています)
ステップ3:魔法のコマンドを実行する
パソコンの「ターミナル(Windowsの場合はコマンドプロンプトやPowerShell)」を開き、先ほど作成した「my-wp」フォルダの中に移動します。
移動できたら、以下のコマンドを打ち込んでEnterキーを押します。
docker-compose up -d
すると、画面に英語がズラズラと流れ始めます。これは、Dockerがインターネット上から必要な部品(イメージ)を自動でダウンロードし、2つの箱を組み立てている様子です。数分待って、元の入力画面に戻れば完了です。
ステップ4:ブラウザでサイトを確認する
Google Chromeなどのブラウザを開き、URLを入力する欄に以下のように打ち込んでみてください。
http://localhost:8000
画面にWordPressの初期設定(言語選択)画面が表示されれば大成功です!
あなたのパソコンの中に、独立した立派なWebサーバー環境が完成しました。
お片付けもコマンド1発で一瞬(使い終わったら)
Dockerが本当に素晴らしいのは、「作るのが早い」だけでなく「片付けるのも一瞬で、パソコンが一切汚れない」という点です。
テストが終わってこのサーバー環境を消したくなったら、ターミナルで以下のコマンドを打ち込むだけです。
docker-compose down
これで、先ほど立ち上げたWordPressとデータベースのコンテナが綺麗に解体され、跡形もなく消え去ります。普通のパソコンのように「アンインストール画面を開いて、関連ファイルを消して…」といった面倒な作業は一切不要です。
まとめ:環境構築の手間は「コピペ」の時代へ
Dockerを使ったサーバー構築の流れを体験してみて、いかがでしたでしょうか。
- 複数のコンテナを組み合わせる時は「Docker Compose」が便利。
docker-compose.ymlという注文書(ファイル)に設定を書いておく。upコマンドで作るのも、downコマンドで消すのも一瞬で完了。
「自分のパソコンに何かソフトを入れておかしくなったらどうしよう」と心配する必要がなくなるため、新しいツールの検証やプログラミングの学習が圧倒的にスムーズになります。まずは今回のWordPress構築を入り口にして、Dockerの便利さを体感してみてください。
Q. 立ち上げたWordPressのデータは、コンテナを消すとどうなりますか?
A. 今回の基本的な設定では、docker-compose down でコンテナを消すと、書いたブログの記事データなども一緒に消えてしまいます。「データを消さずに箱だけを解体・再構築する」ためには、「ボリューム(Volume)」というデータをパソコン側に永続保存する設定を docker-compose.yml に追記する必要があります。
Q. 今回作ったサーバーをそのままインターネットに公開できますか?
A. 技術的には可能ですが、セキュリティ設定(パスワードが簡単なままである等)が本番用になっていないため、そのまま公開するのは非常に危険です。あくまで「自分用(ローカル)のテスト環境」として利用してください。
