あなたはDockerに何回入門しただろうか? 何度あのクジラを見て頭を抱えたことだろうか? 今回あなたを「とりあえずDockerを使ってワールドプレスを表示する」ところまで道案内しようと思う。 そう、夢はでっかく世界に羽ばたかないとね。 間違えた、ワードプレスだ。
Dockerって何
「仮想化かーそうかー」 「Dockerでどっかーんwww」 Dockerの何たるかも知らずにのほほーんと暮らしている日本人(主語でか)のなんと多いことか。 今、すべての日本人(主語でか)に問います。
「Dockerとは何でしょう」
まぁそんな深遠な事は書かない。 WindowsやmacOSなどのOSがあると思うが、他にも実はLinuxという有名なOSがある。 DockerはLinuxをいい感じに仮想化してくれるソフトウェアだ。 Linuxは今あなたが見ているこのサイトの裏側など見えにくいところで動いている。 面倒くさいのでそれ以上の説明をここではしない。
ワードプレスって何
「ブログ」はさすがに知っているのではないだろうか。 ブログのシステムがいくつかあるんだけど、そのうち一番メジャーなものが「ワードプレス」だ。 素人でも使えちゃうので、色々アレな部分もあるが、とっつきやすさの点で勝っている。
Dockerでワードプレスを動かす
では実際に作業していこう。 以降は記事執筆時点の見た目であり、今後のバージョンアップなどで見た目などが変化する可能性がある。 なお、筆者はダークモードが大好きなので、ところどころ白黒が反転している画面があるが、ご了承いただきたい。
ダウンロード
何はともあれ、まずダウンロードしないと始まらないだろう。
このサイトにアクセスして、右上の「Get Started」をクリック
左下あたりの「Download for Windows」または「Download for Mac」をクリックしよう
インストール
ダウンロードが完了したらインストールしよう。 WindowsとmacOSでインストーラーの見た目が違うので、それぞれの項目を見て欲しい。 ダウンロードされたファイルをダブルクリックしよう。
Windows
こんな画面が表示されるので、そのまま右下のOKをクリックしよう。
すると何かが進んでいくが、お茶を飲むかNetfixを眺めるか匍匐前進するかなどしながら待つと良い。
インストールが完了すると以下のような画面が表示される。ボタンを押すのだが、ここの「restart」はマシンの再起動を示しているので、何か作業中の場合は保存しておくこと。
Windowsの再起動が完了すると、こんな通知が出たはずだ。
macOS
書いてあるとおりドラッグ・アンド・ドロップしよう。
それだけ?それだけ。
Dockerを起動する
Dockerを利用するには、Dockerを起動しておく必要がある。まぁ当然と言えば当然だ。
Windows
Windowsの場合はスタートメニューに「Docker Desktop」というメニューが増えているので、それをクリックすると良い。
すると以下のような画面が表示される。左下に黄色いランプで「starting」と表示される。マシンの性能次第であるが、Windowsの場合それなりに時間がかかるようだ。
macOS
「アプリケーション」に「Docker Decktop」が増えているはずなので、それをクリックしよう。
以下のように聞かれるが、「開く」で大丈夫だ。
その後何やら小難しい英語のダイアログが表示されるが、「OK」で大丈夫だ。
続いて「ヘルパーをインストール」というダイアログが表示される。ユーザー名とパスワードは入力して欲しい。
それが終わるとこっそりステータスバーで起動する。アニメーションでコンテナが増えたり減ったりしている時は起動している最中の状態だ。
ワードプレスの設定ファイルを作る
ではワードプレスを起動するために、設定ファイルを作ろう。
テキストエディタを開く
Windows
Windowsでは「メモ帳」というアプリを使ってファイルを作る。Wordは使わないように。
スタートメニューから「Windowsアクセサリ」→「メモ帳」とたどるか、検索しよう。
macOS
macOSでは「テキストエディット」というアプリを使う。「アプリケーション」から「テキストエディット」を探してクリック。
すると以下のようなダイアログが開くので、「新規書類」をクリック。
あと、このままでは余計な情報が含まれてしまうので、「フォーマット」→「標準テキスト」にしておく。
設定を貼り付ける
以降は共通だが、下記内容を貼り付けよう。
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:
まぁここのコピーだが:
以下はWindowsで貼り付けた後の状態だ。
設定ファイルを保存する
Windows
ファイルを保存しよう。保存場所はどこでも良いのだが、説明の都合で「ドキュメント」にして欲しい。ファイル名はdocker-compose.yml
にして欲しい。docker-compose.yml
をコピペして「ファイル名」欄に貼り付けよう。
macOS
ファイルを保存しよう。保存場所はどこでも良いのだが、説明の都合で「書類」にして欲しい。ファイル名はdocker-compose.yml
にして欲しい。docker-compose.yml
をコピペして「ファイル名」欄に貼り付けよう。
少し変わったファイルを使うので、以下のようなダイアログが表示されるが、「".yml"を使用」をクリックする。
ワードプレスを動かす
いよいよワードプレスを動かそう。 ここから少しだけITエンジニアな画面を見る事になるが、我慢していただきたい。 いずれも「ターミナル」というアプリで作業をする。 以下、コマンドが3つ登場するので、基本的にはコピー&ペーストして欲しい。 Windowsの場合は右クリックが「ペースト」になる。
Windows
スタートメニューから「Windows システムツール」→「コマンド プロンプト」とたどるなどして「コマンド プロンプト」を起動する。
すると真っ黒な画面が出てくるので、cd Documents
と入力してリターンキーを押す。
その後、docker-compose up -d
と入力してリターンキーを押す。
こんな感じで何かが流れていくはずだ。
もしかしたらこのタイミングで以下のようなダイアログが出てくるかも知れないが、ここは「アクセスを許可する」をクリックする(でないとDockerが動かない)。
処理が完了すると、C:\Users\ユーザー名\Documents>
という表示が出て止まる。
macOS
「アプリケーション」→「ユーティリティ」→「ターミナル」を起動する。
すると真っ黒な画面が出てくるので、cd Documents
と入力してリターンする。
その後、docker-compose up -d
と入力してリターンキーを押す。
すると以下のように何かが動いていくはずだ
ワードプレスを表示してみよう
実は先程の作業でワードプレスはもう起動している。 早速見に行ってみよう。 まずDocker Desktopアプリを開こう。 Windowsはアプリを開くと出てくるが、macOSの場合はステータスバーから「Dashboard」を開く。
するとこういう感じの状況になっているはずだ(緑が今正に動いている「コンテナ」だ!)
documents_wordpress_1
にマウスカーソルを合わせると、右側にこんな感じのアイコンが出てくるので、一番左のOPEN IN BROWSER
をクリックしよう。
するとブラウザーが開いて、以下のような画面が表示されたはずだ。 おめでとう!ワードプレスが無事に起動した!
後は適当に設定しながら(設定したパスワードとユーザー名は忘れないように!)設定を完了させよう。
左上の(設定したサイト名)→「サイトを表示」をクリックしてみよう。
これがあなたのブログだ!
注意事項
さて、これでワードプレスが動いたわけだが、これはあなたのマシンの上でだけ動いているものだ。これをワールドにプレスするには、他にもいくつかする事があるのだが、このブログ記事の目的は達成されたので、その話はまた今度機会があればするかも知れない。
ワードプレスを止める
Windowsなら「コマンド プロンプト」、macOSなら「ターミナル」でdocker-compose down
と入力してリターンキーを押そう。すると以下のようになるはずだ。
これでお掃除は完了だ。
おわり
おわり。 簡単だったと思うが、そういう事だ。 次回があればもう少し何か書くかも知れないが、予定は常に未定だ。
仲間募集中!
このエントリーは素人でも(非エンジニアでも)分かるように書いてみたつもりだ。
弊社では非エンジニアとのコラボレーションを重要視しているので、このようなスキルは重要なのだ。 弊社にはリーガルチームがあるが、リーガルチームはリーガルの事をエンジニアに分かるように説明するよう努力するし、エンジニアチームもエンジニアリングの事をリーガルに分かるように説明するよう努力する。
そんな文化に興味がある方はぜひともエントリーいただきたい。
と、もっともらしい事を書いて締めの言葉としたい。
この記事を書いた人
Yuki Nishimura
雑食系エンジニア