﻿1
00:00:04,970 --> 00:00:10,370
‫OKです｡  バインドマウントは本当にカッコイイので､ この課題をあなたに出すのが超楽しみなんです｡

2
00:00:10,490 --> 00:00:17,900
‫特に､ ローカル開発､ ローカルテストには最適です｡  というのも､ 先ほど説明したように､ ホストOS上のファイルを編集できるようにして､

3
00:00:18,410 --> 00:00:29,480
‫それを実際にコンテナの中で実行したり使ったりすることで､ より簡単に物事を進められるようにするためです｡

4
00:00:29,480 --> 00:00:34,940
‫この例では､ 実際に「Static Site Generator」と呼ばれるものを使用しますが､

5
00:00:34,940 --> 00:00:38,690
‫これは特にWeb開発者のための課題ではありません｡

6
00:00:38,690 --> 00:00:41,990
‫実際には､ 一行のテキストを編集する以外にはあまりすることはないでしょう｡

7
00:00:41,990 --> 00:00:47,180
‫つまり､ ホストマシンにあるホストデータをコンテナにマウントして､

8
00:00:47,180 --> 00:00:55,440
‫ホスト上でデータを変更し､ それがコンテナ内に反映されるのを見るというアイデアに慣れることなのです｡

9
00:00:55,490 --> 00:00:56,140
‫そうですね｡

10
00:00:56,180 --> 00:01:02,480
‫この場合､ かなり一般的な例です｡  ウェブ開発者は､ ソースコードやHTMLなどをホストに置いて､

11
00:01:02,480 --> 00:01:08,720
‫必要な特別なツールはすべてホストにダウンロードしなければならないのが普通でしょう？

12
00:01:08,750 --> 00:01:13,310
‫プログラミング言語のツール､ ウェブサーバー､ 変更を検知して再起動するファイルウォッチャーのようなもの､

13
00:01:13,310 --> 00:01:16,460
‫これらのツールが必要でしょう?

14
00:01:16,460 --> 00:01:23,570
‫通常､ ウェブ開発者にとって大きな問題となるのは､ 特定のオペレーティングシステムとすべての正しいバージョンですべての機能を実現する方法を見つけ出すことです｡

15
00:01:23,750 --> 00:01:29,630
‫しかし､ Docker Hubでは､ これらのコンポーネントのスタックがすべて1つのコンテナの中に入っており､ 誰かがあなたのためにすべての難しい仕事をやってくれているので､

16
00:01:29,630 --> 00:01:34,360
‫これらの問題の多くが解決されます｡

17
00:01:34,370 --> 00:01:39,560
‫今回は､ 実際にJekyllを使用しますが､ 先ほども言ったようにSSGです｡

18
00:01:39,560 --> 00:01:47,780
‫これらは､ マークダウン（基本的にプレーンテキスト）を作成するための､ 非常に基本的なツールです｡

19
00:01:47,780 --> 00:01:51,530
‫そして､ それらを取り込んで､ HTMLのウェブサイトに生成するのです｡

20
00:01:51,530 --> 00:02:00,460
‫HTMLの専門家でなくても､ 簡単な文章を書いてウェブに掲載したい､ 小さなブログやシンプルなウェブサイトには本当に最適です｡

21
00:02:00,470 --> 00:02:06,710
‫GitHubが運営するGitHub Pagesと呼ばれるサイトを見るたびに､ Jekyllが使われているのも､

22
00:02:06,710 --> 00:02:07,700
‫このためです｡

23
00:02:07,700 --> 00:02:12,910
‫今回は､ このスライドにあるように､ bind mountのサンプルディレクトリに飛びます｡

24
00:02:13,490 --> 00:02:19,220
‫そこにいくつかのファイルが表示されます｡  Visual Studio Code､ Atom､

25
00:02:19,220 --> 00:02:24,970
‫Vim､ Sublime Textなど､ お好きなエディタで編集してください｡

26
00:02:25,130 --> 00:02:30,260
‫我々は､ Jekyllを実行しているバックグラウンドで実行されているコンテナを持つことになり､ あなたのホスト上のこれらのファイルを監視し､

27
00:02:30,260 --> 00:02:36,560
‫更新を検出し､ コンテナに組み込まれているWebサーバを自動的に更新することができます｡

28
00:02:36,920 --> 00:02:40,090
‫手始めに､ 実際に使用できるコマンドを紹介します｡

29
00:02:40,220 --> 00:02:45,560
‫bind mount sample ディレクトリにジャンプして､ この docker run コマンドを実行すると､

30
00:02:45,800 --> 00:02:51,730
‫デフォルトの localhost が開き､ そのディレクトリが実際にマッピングされます｡

31
00:02:51,740 --> 00:03:00,000
‫pwdは､ コンテナ内のサイトディレクトリにマッピングされることを覚えておいてください｡

32
00:03:00,010 --> 00:03:05,100
‫それから私はあなたのカスタム､ Jekyllコンテナは本当に使いやすいし､ それはすべての最新バージョンを使用している作った｡

33
00:03:05,120 --> 00:03:16,910
‫ブラウザでlocalhostを開き､ 基本的なウェブページを表示してください｡

34
00:03:16,910 --> 00:03:16,910
‫実はこれ､ デフォルトのテンプレートを使っているんです｡  そして､

35
00:03:16,910 --> 00:03:22,670
‫そのbind mountサンプルの中にあるpostディレクトリに素早く飛び込むだけです｡

36
00:03:22,670 --> 00:03:24,840
‫実際にこちらでご覧いただけます｡

37
00:03:28,370 --> 00:03:29,080
‫私の画面では､

38
00:03:29,080 --> 00:03:35,000
‫実際にVisual Studioのコードの中に入れています｡ つまり､ これらはそのディレクトリの中のファイルになります｡

39
00:03:35,000 --> 00:03:40,340
‫このファイルに入るだけです｡ これはマークダウンのファイルですが､

40
00:03:40,580 --> 00:03:52,190
‫マークダウンの達人でなくても大丈夫です｡ この中の何かを変更し､ Webブラウザに飛び､ ファイルを保存すると自動的に更新として反映されることに気づくでしょう｡

41
00:03:52,250 --> 00:03:57,770
‫もちろん､ Docker内部のログを見て､ 何をしているかを確認することを強くお勧めします｡ 実際にファイルが変更され､

42
00:03:57,770 --> 00:04:01,610
‫サーバーを再読み込みするたびに教えてくれるからです｡

43
00:04:01,610 --> 00:04:07,230
‫もし行き詰まったり､ 意味が分からなかったら､ この後すぐに私の回答レクチャービデオを見てください｡

44
00:04:07,250 --> 00:04:10,360
‫これから駆け足で説明していくので､ 行き詰まったらフォローしてください｡

45
00:04:10,670 --> 00:04:11,180
‫頑張ってください｡

