‫わかりました｡ 今回の課題では､ コンポジットファイルをゼロから作成する作業を行ってほしい｡
‫これはごく普通の､ 日常的で基本的なコンポジットファイルです｡ これは､ 作業やテスト､ 開発が必要なアプリケーションで構築する際に､
‫何度も経験することになる演習です｡
‫Composeに慣れてくると､ 実はローカルな方が好きだったりするんですよね｡ とても使いやすく､ composeファイルの中でdockerコマンドを覚えるのがとても楽になりました｡
‫今回は､ 実際にDrupalの基本的なコンテンツ管理サイトを構築していただきます｡
‫Drupalをご存じない方は､ オープンソースのコンテンツ管理サーバーであり､
‫基本的にはウェブサイトビルダーに過ぎません｡ Drupalについて詳しく知る必要はありませんが､ これは完全に機能するWebアプリの良い例で､
‫その背後で動作するデータベースが必要なのです｡
‫DrupalのイメージとpostgresのイメージをDocker Hubで調べて､ それぞれのドキュメントを少し読む必要があります｡
‫もちろん､ 公式の画像を使うことをお勧めしますし､ 他にもいろいろありますよ｡ Drupalを実際に公開するためには､
‫composeファイル内のportsを使用することになります｡
‫8080でやるだけでもおすすめです｡ 本当はどのポートでもいいのですが､ この課題では8080を選んでみましょう｡
‫結局は2つのサービスを利用することになるんですね｡ バージョン2は､ ファイルの一番上に置くことをお勧めします｡ その下にその2つのサービスがありますよね｡
‫一つはDrupal用､ もう一つはpostgres用です｡ サービスの呼び方は自由です｡
‫postgresサービスの内部では､ パスワードを設定する必要があることを確認する必要があります｡
‫そして､ Drupalの仕組みは､ docker composeで起動したら､ 実際にブラウザを開いてセットアップを進めていくことになります｡
‫Drupalは､ ウェブベースのセットアップが素敵です｡ いくつかの質問をされます｡
‫コンポジットファイルでコンテナが動作する方法は､ サービス名をDNS名として､ あるコンテナが他のコンテナと会話するために使用することを思い出してください｡
‫設定をしていると､ 「詳細設定」のオプションの1つに､ データベースサーバーがどこにあるかが表示されます｡
‫デフォルトはlocalhostですが､
‫これではデータベースとウェブサーバーを同じコンテナに置くことになり､ うまくいきません｡
‫そしてそれは､ Dockerのベストプラクティスとは言えません｡
‫その場合､ localhostをDrupalのサービスを呼び出すものに変更する必要があります｡
‫そして､ DrupalのWebサーバーは､ Dockerのネットワークを介して実際にデータベースサーバーと話をすることになります｡
‫Docker HubにあるDrupalのドキュメントには､ テンプレートデータ､
‫アップロード､ モジュールと呼ばれるDrupalのアドオンなど､ 固有のデータを保存するためにボリュームを使用するというオプションがあります｡
‫それを実験して､
‫コンポジットファイルで動作させることをお勧めします｡
‫そして､ 起動した後に､ ボリュームをリストアップして､ そこに見えるかどうか､ 正しく見えるかどうかを確認することです｡
‫これはかなり短いコンポーズファイルで､ おそらく10行程度になるはずです｡
‫もちろん､ 行き詰まっても心配は無用です｡ 次の講義では､ あなたがこれから行うのと同じ演習を私が行う予定です｡
‫では､ 頑張って､ 楽しんでください｡