【Docker超入門 #6】Dockerfileを作成しよう

だれでもエンジニア / 山浦清透
28 Dec 202021:34

Summary

TLDRこのスクリプトは、Dockerの基本的な使い方と開発環境の準備方法を詳しく説明しています。最初は、Dockerイメージの作成から始め、その中でRubyのライブラリを動かしてみることに焦点を当てています。次に、Dockerファイルの作り方や、その中で何を記述するか、そして実際にDockerコンテナを起動し、Webサーバーを立てて動作確認する手順まで解説されています。全体的に、Dockerを利用した開発環境構築の流れを詳細に追跡し、初心者でも理解しやすい内容になっています。

Takeaways

  • 📂 ドッカーファイルは、コンテナイメージを作成するためのスクリプトで、重要なコマンドや設定を記述します。
  • 🛠️ ドッカーの基本的な操作とコンテナの管理方法を学ぶことで、開発環境を効率的に構築できます。
  • 💡 ドッカーイメージは、特定のソフトウェアやライブラリーを含む、再利用可能なコンテナのベースとなります。
  • 🔄 ライブラリーのインストールやアプリケーションの設定をドッカーファイルに記述することで、他の環境でも同じように再現できます。
  • 📦 ドッカーを使用することで、アプリケーションの開発やテストに必要な環境を簡単に構築・管理することができます。
  • 🔧 ドッカーファイルからイメージを作成し、そのイメージを用いてコンテナを起動することができます。
  • 🎯 ドッカーの学習により、開発プロセスを自動化し、時間効率を向上させることができます。
  • 🛠️ ドッカーコンテナ内での作業は、ホストOSのファイルシステムと同期されることで、ローカルでの開発が便利になります。
  • 📈 ドッカーは、開発からデプロイまで、ソフトウェアのライフサイクル全体を効率的に管理できるように設計されています。
  • 🌐 ドッカーコマンドを使用することで、ローカル環境だけでなく、リモート環境やクラウドサービスでも同じアプリケーションを実行できます。
  • 🔒 セキュリティ上の問題や依存関係の管理にも配慮し、ドッカーはアプリケーションの信頼性と安定性を向上させることができます。

Q & A

  • ドッカーイメージの作成に必要なファイルは何ですか?

    -ドッカーイメージの作成に必要なファイルはDockerfileです。

  • Dockerfileで指定されるベースイメージとは何ですか?

    -Dockerfileで指定されるベースイメージは、コンテナが作成される際に使用される基本イメージです。

  • Rubyの開発環境を構築するために必要なライブラリーは何ですか?

    -Rubyの開発環境を構築するために必要なライブラリーは、sinatraライブラリーです。

  • Dockerコンテナ内でライブラリーをインストールするために使用されるコマンドは何ですか?

    -Dockerコンテナ内でライブラリーをインストールするために使用されるコマンドは、bundle installです。

  • Dockerコンテナを起動し、開発環境を準備するために最初に行う操作は何ですか?

    -Dockerコンテナを起動し、開発環境を準備するために最初に行う操作は、ソースディレクトリの作成と、その中にGemfileを作成することです。

  • Dockerイメージを作成する際に、アプリケーションコードを含めるために使用されるコマンドは何ですか?

    -Dockerイメージを作成する際に、アプリケーションコードを含めるために使用されるコマンドは、COPYコマンドです。

  • Dockerコンテナを起動するためのコマンドは何ですか?

    -Dockerコンテナを起動するためのコマンドは、docker runです。

  • Dockerコンテナ内で変更を行ったソースコードを反映させるために使用されるオプションは何ですか?

    -Dockerコンテナ内で変更を行ったソースコードを反映させるために使用されるオプションは、-vオプションです。これはホストのディレクトリをコンテナ内のディレクトリと同期させることで、ローカルでの変更をリアルタイムに反映させることができます。

  • Dockerコンテナを起動し、その中で実行されたコマンドをDockerfileに反映させるためにどのようにすればいいですか?

    -Dockerコンテナを起動し、その中で実行されたコマンドをDockerfileに反映させるためには、docker commitコマンドを使用して新しいイメージを作成し、そのイメージをもとにDockerfileを更新します。

  • Dockerfileで指定されたコマンドが実行されるタイミングは何ですか?

    -Dockerfileで指定されたコマンドは、イメージビルドの過程で一度だけ実行されます。しかし、Dockerfile内のCMD指令に指定されたコマンドは、コンテナが実行されるたびに実行されます。

  • Dockerコンテナ内で実行されたアプリケーションを外部からアクセスするために、何を設定する必要がありますか?

    -Dockerコンテナ内で実行されたアプリケーションを外部からアクセスするためには、ポートフォワーディングを設定する必要があります。これは、docker runコマンドの-pオプションを使用して行います。

Outlines

00:00

📂 開発環境の準備とDockerイメージの作成

この段落では、開発環境の準備とDockerイメージの作成について説明されています。まずは、Dockerイメージを自分で準備できるようになることが重要です。次に、Dockerファイルからイメージを作成する方法が紹介されています。このプロセスには、ベースイメージの指定、必要なライブラリーのインストール、そしてアプリケーションの実行方法が含まれます。また、Dockerイメージの使い方や、ソースコードの準備にも触れられています。

05:02

🛠️ アプリケーションコードの配置とDockerコンテナの実行

この段落では、アプリケーションコードの配置方法とDockerコンテナの実行について学びます。Dockerイメージを使ってコンテナを起動し、アプリケーションコードを配置する手順が説明されています。また、Dockerファイルの書き方や、Dockerコンテナの設定方法についても詳細に解説されています。このセクションを通じて、Dockerの基本的な使い方と、開発環境を構築するための手順を理解することができます。

10:03

🔄 ソースコードの共有とライブラリーのインストール

この段落では、ソースコードをDockerコンテナと同期し、必要なライブラリーをインストールする方法が紹介されています。Dockerのボリューム機能を使って、ホストのソースコードをコンテナ内に同期させることができます。また、Rubyのライブラリー管理ツールであるBundlerを使って、必要なライブラリーをインストールする方法も学ぶことができます。このセクションを通じて、Dockerコンテナ内でアプリケーションを実行するための準備作業を理解することができます。

15:03

🌐 Webサーバーの実行とテスト

この段落では、Dockerコンテナ内でWebサーバーを実行し、ブラウザからアクセスして動作を確認する方法が説明されています。Dockerを使ってWebサーバーを構築し、適切なポート番号を設定する方法が学びます。また、Dockerファイルに記載されたコマンドを使って、Webサーバーを実行し、ブラウザでトップページが正しく表示されるかどうかをテストすることができます。このセクションを通じて、Dockerを使ったWebアプリケーションの開発とテストのプロセスを理解することができます。

20:10

🔧 開発プロセスの振り返りとDockerの再実行

最後の段落では、Dockerを使った開発プロセスの振り返りや、変更を加えた後にDockerコンテナを再実行する方法が説明されています。Dockerコンテナの停止と削除、そして新しいイメージの作成方法が学びます。また、Dockerファイルに加えた変更を反映させ、再びコンテナを実行して、期待される動作を確認する方法も重要です。このセクションを通じて、Dockerを使った開発プロセスの柔軟性や再現性を理解することができます。

Mindmap

Keywords

💡Docker

Dockerは、アプリケーションをコンテナ化するためのオープンソースのプラットフォームです。この技術を使うことで、アプリケーションを実行するための環境をパッケージ化し、異なるコンピューターやオペレーティングシステム間で簡単に移すことが可能です。動画の主題はDockerの使い方と開発環境の準備に焦点を当てています。

💡Ruby

Rubyは、日本のプログラマーである松本行弘によって開発されたオブジェクト指向のスクリプト言語です。Rubyは、簡潔で読みやすいコードを書くことができることで知られており、Web開発などで広く使用されています。この動画では、Rubyを使用してWebアプリケーションを構築する方法について説明しています。

💡Sinatra

Sinatraは、Rubyで書かれた軽量のWebフレームワークです。シンプルなAPIとリクエスト処理能力により、小規模から中規模のWebアプリケーションの開発に適しています。動画では、Sinatraを使ってWebサーバーを構築し、'Hello World'メッセージを表示するアプリケーションを作成する方法が示されています。

💡Gem

Gemは、Rubyのパッケージ管理システムです。Rubyのライブラリやフレームワークをインストールするために使用されます。Gemを使用することで、アプリケーションに必要な機能を簡単に追加できます。動画では、Gemを使ってSinatraなどの必要なライブラリをインストールする方法が説明されています。

💡Dockerfile

Dockerfileは、Dockerのイメージを作成するためのスクリプトのようなものです。Dockerfileに記載された指示に従って、Dockerはアプリケーションを実行するための環境を構築するイメージを作成します。この動画では、Dockerfileを使って開発環境を準備し、Sinatraアプリケーションを実行するための手順を説明しています。

💡Container

コンテナは、ソフトウェアを実行するための環境を提供する、独立した実行単位です。Dockerを使用することで、アプリケーションとその依存関係をコンテナ内にパッケージ化し、異なる環境でも一貫性を維持できます。この動画では、Dockerコンテナを使ってSinatraアプリケーションの開発環境を構築する方法について説明しています。

💡Volume

ボリュームは、Dockerコンテナで使用されるデータの永続化を提供する仕組みです。ホストシステムとコンテナ間のデータを同期し、コンテナのデータをホストシステムに反映することができます。この動画では、ボリュームを使ってホストのソースコードをコンテナに同期し、リアルタイムで変更を反映する方法が説明されています。

💡Bundler

Bundlerは、RubyのGemのバージョン管理ツールです。Gemfileというファイルにアプリケーションが必要とするGemを記述し、Bundlerを使ってそれらGemを管理することができます。これにより、開発環境や本番環境でのGemのバージョンの一貫性を維持し、依存関係の解決やアップデートを効率的に行うことができます。

💡Interactive mode

インタラクティブモードは、ユーザーがコマンドラインインターフェースで直接コマンドを入力し、その結果を即座に得られるような状態を指します。Dockerコンテナでは、このモードを使用して、コンテナ内でコマンドを実行し、インタラクティブに操作することができます。

💡Port mapping

ポートマッピングは、コンテナとホストの間でポート番号を連携するプロセスです。これにより、コンテナ内で実行されるアプリケーションが、ホストの特定のポートを介して外部と通信できるようになります。

💡Web server

Webサーバーは、クライアントからのリクエストを受け取り、HTTPレスポンスを返すソフトウェアです。Webアプリケーションをホストし、ブラウザやその他のクライアントからのリクエストを処理します。この動画では、Sinatraを使ってWebサーバーを構築し、'Hello World'メッセージを表示するシンプルなWebアプリケーションを作成する方法が説明されています。

Highlights

キラーのイメージとコンテナの音操作方法の基本を確認しました。

ドッカーのイメージを自分で用意することで、開発環境を準備できるようになります。

ドッカーファイルから広いイメージを構築し、必要なライブラリーをインストールする手順が説明されています。

Rubyのライブラリーをインストールする方法と、その過程をドッカーファイルに反映する方法が解説されています。

Dockerfileの作り方と、その中で何を記載するかの詳細が提供されています。

Dockerコンテナを起動し、その中に入る方法が説明されています。

Rubyの開発環境をDockerを使って構築し、その過程を詳細に解説しています。

Dockerのボリューム機能を使って、ホストとコンテナの間でファイル共有する方法が説明されています。

Dockerイメージを再構築し、そのプロセスを詳細に説明しています。

Dockerコンテナを再起動し、新しいイメージを使った環境を構築する方法が提供されています。

Webサーバーの動作確認方法と、ブラウザからのアクセス結果が報告されています。

Dockerコマンドの実行方法と、その結果を確認する手順が解説されています。

Dockerのネットワーク設定と、その意味が説明されています。

Dockerのエントリーポイントと、その設定方法が提供されています。

Dockerのクリーンアップ方法と、コンテナの削除手順が説明されています。

全体的なDocker開発プロセスと、その手順が詳細にまとめられています。

Transcripts

play00:01

[音楽]

play00:02

キラーとです

play00:03

ここからどっかファイルについてねやっていきます前回前でねどっかのイメージと

play00:09

コンテナの音操作方法はね一通りね

play00:12

基本のところ見てきましたあと残っているがねこの撮っカームイメージをで用意する

play00:17

ところなんですよね

play00:18

ドッカーの自分

play00:20

いうイメージを自分でね用意できるようになればもうあとはね

play00:24

その後の操作方法っていうの分かってるから自分でね開発環境を用意できるようになり

play00:30

ますねじゃあそのイメージを年はどうやって使うかっていうとね

play00:34

どっかファイルからね作るんでしたねドッカーファイルっていうのが真っ向のイメージ

play00:38

のしな形でね

play00:40

ここにベースになるイメージが指定してあって

play00:43

あと使うライブラリーインストールするライブラリーとかアプリケーションというもの

play00:47

をねどういうのを使っていくかっていう指示をね

play00:49

書いていくわけですねこのどっかファイルから広いできるそっからあなたもどっか

play00:54

イメージを作るともうねこのどこファイルだからね今回はやっていきますここがね

play00:58

できればね ok

play01:00

条件も自分で開発環境を作れるよっていう状態になるんででそこ目指してねやっていき

play01:04

ましょう

play01:05

じゃあねやっていきますねまつまたね右のディレクトリーを用意してください

play01:10

今回の音 documents はどっかっていうディレクトリーを僕は使っていき

play01:14

ますペッ

play01:15

今回はねもうちょっとファイル前回の牌譜かけしてて今回はソースって言う

play01:19

ディレクトリーを事前に用意しておきます

play01:22

でこのソースディレクトいう中に何が入っているかと言う

play01:25

とソーステープとの中にねジェムファイルっていうのが入っていますて今回はのお題と

play01:30

して

play01:31

品とあっていうねあのルビーのライブラリーをねちょっと動かしていこうかなと思い

play01:36

ます

play01:37

階戸はって何かっていうとレールずみたいなものですよのレールず金すごくね色んな

play01:43

機能ねもうブワーってこう詰まっ

play01:45

たフルパッケージだとしたら仕方わねそれをねあの昨日の薄い版ですね

play01:50

もっと軽くてライトに web アプリケーションを作れるっていう奴そのねシナトラ

play01:55

play01:55

まぁ今回ネット碁どっかでね開発環境を用意していく過程を通じてどっかファイルの

play02:02

作り方を身に付けていこうと思いますって

play02:04

事前中

play02:05

3としてソースってディレクトリー用意してその中にジェムファイルっていいものを

play02:09

作っておきます

play02:11

この自分ファイル中にねまぁこんな感じの処理を書いておきます重要なのはね

play02:15

7行目ですかね j 6シナトラというところが大事になってきます

play02:20

a 今何やっているかと言うと自分ファイルっていうのがルビーのだいぶラリーの

play02:24

パッケージ管理ツールなんですね

play02:26

ライブラリーこれをインストールするようっていうのを管理するファイルになりますが

play02:30

仕組みになる

play02:31

スツールですねこういう形でジェムファイルっていうものを用意してその中にね

play02:37

インストール数ジェル今回者階戸はですねを指定しておけば後はね

play02:42

ジェムをインストールするそのコマンドを使うとこの品とだってライブラリーよね

play02:47

あライブラリーのことで今回 j 打ってねベビーガードで言うんですけどそれを

play02:51

インストールできるというわけでございますじゃあこれだけである状態からどっか

play02:56

ファイルを実際作っていって

play02:59

やっていきましょー度かファイルを作っちゃいます

play03:03

どっかパイルとちょっと見にくいですかね

play03:07

出るお茶場所がね

play03:09

えっといいでしょうか

play03:12

で場所をこのソースディレクトリーと同じ場所一番にプロジェクトの上の場所にね作っ

play03:17

ておいてください

play03:18

どっかファイルがあってソースじぇくとりーがるという構成ですねここに作ったらです

play03:23

play03:23

ドッカーファイルの記載をやっていきます

play03:26

a まずにどっかファイルどう書くかというと今回どっかファイルパケ方がも構造なん

play03:31

でね

play03:31

フローぬちゃんと見ていこうとますフロームルビー2.7のように書きます

play03:37

これ何かというとルビーのねまああのそのどっかのイメージがあってビーっていう

play03:43

イメージのバージョンの2.7っていうのを指定します

play03:46

いますねドッカーファイルをこういう形でプローブでね何のベースをイメ

play03:51

何のでいい

play03:51

明治をベースにするかというのを最初に指定しておきます

play03:55

これをまず指定した上で続いてね

play03:59

8寛解場合はワープディレクトリーを指定しておこうかな

play04:04

play04:06

www という形で指定したらすっきますこれならボディエクトリー何でもいいです

play04:11

例えば

play04:12

わー

play04:13

グッ

play04:14

ディレクトリアップとか指ですあのー

play04:17

あのこれ何でもよくてなにかというとですねえっとこのあとどっかで作業いろいろ愛し

play04:22

ていくんですねライブラリインストールしたいとかでいろんな作業をしていくんです

play04:26

けどその作業をね

play04:27

どこでやるかという場所を指定してますじぇくとりーを

play04:31

で今回はまあどこでもホントいいんですけどバーの www っていう場所で自分の

play04:37

ベース

play04:37

イベントの作業場所として指定しておきましてこういうふうに指定しておいたに

play04:41

ディレクトリがない場合はねディレクトリを作ってくれます

play04:45

続いて今回使うソースコードをね

play04:48

ドッカーの音コンテナ内にコピーしておこうと思います

play04:52

でしょ

play04:55

ペットパ

play04:56

www とあのまぁこんなにしているかと言うとコピーってするとねソースコードを

play05:02

コピーしてくれますと

play05:03

で a 今のね

play05:05

ディレクトリーとしてソースというれくとりーおーで用意してその中に今回ね

play05:09

ソース dic トニーの中に全部の音アプリケーションコードを入れていこうと思っ

play05:14

ているんですね

play05:15

だからアプリケーションコードを一つとして自分ファイド今とりあえず出ているだけの

play05:19

状態なんですけど

play05:21

なのでコピーでまず自分のこの同会の環境のねそう

play05:25

オスディレクトリ以下のファイルをスラッシュバー

play05:29

スラッシュ www の下にコピー3用というのがこの copy コマンドです

play05:34

こういう子を工夫することでねアプリケーションコードを

play05:38

どっかの方にコピーができますで改めてちょっとどっかファイルというのはどういう

play05:43

ものかね

play05:43

説明しておこうと思うんですけどどっかファイルにはまずねレースのイメージを指定し

play05:49

てそのベースのイメージに対してどんな作業をするかっていうのをね

play05:53

記載していくんですねでエコーやってねアプリケーション高層そこアプリケー

play05:58

ションの音ソースコードをコピーしてきたりとかあとはライブラリーをインストールす

play06:02

がして最後に

play06:04

ドッカーを起動するときに実行するコマンドというのをね

play06:08

記載していきますでねえっと今回まずコマンドね記載していきたいんですけども

play06:15

あの今回はねバッシュをでちょっとね

play06:18

起動させるっていうコマンドを記載しておこうと思います

play06:22

あの今からやりたいこととして先ほどね

play06:25

自分をねまずねインストールしていきたいんですねこのドッカー今寺内で

play06:30

だからジェムをインストールするコマンドとかは支持したいんですけど

play06:33

この反動なぁの適当に猫のドッカーファフナーに書いちゃうと

play06:37

まあ思われる

play06:38

あと金なったりするわけですまあどういうふうに動くかわからないのでね

play06:41

それでやり方としてはまずドッカーコンテナを起動させますとそのどっから金てないね

play06:48

一回入っちゃって気動車どっかポンてないね

play06:52

入ってそこで実際にライブラリーのインストールしたいとかプリケーションを動かし

play06:56

たりとかしてそれでうまくいったらそのうまくいったコマンドっていうのをこの

play07:00

ドッカーファイルの

play07:01

に書いていくというふうなねそういうふうなやり方を取ります

play07:05

そうするとね確実にね正しいものをね書いていけるわけです

play07:09

0なのでまずは音ドッカーを切ろうを知っていてその中でね

play07:13

学科内に入って作業できるようにしていきたいのでバッシュをね

play07:17

洗脳ね1回起動させておこうとメス場所でシェルの一種ですね

play07:21

でコマンドはスラッシュこの b スラッシュ便スラッシュ bash でば主起動

play07:26

できるのでこいつのね

play07:28

どっかのこのコンテナー起動時に実行するコマンドとして指定しておきます

play07:33

a ではね最低限のドッカーファイル作ったのでまずは毒この後にどっかさっきの

play07:40

ドッカーファイルをベースに

play07:41

どっかのイメージをつくってでコンテナーを起動させてそしてどっかなに入って

play07:48

ライブラリーの音インストの作業っていう順番でやっていこうと思います

play07:52

まずイメージか作っていきましょうどっかイメージ

play07:56

ビールとタグを付けておこうと思いますやりやすいよね

play08:00

参照しはサンプルシナトラ a でバージョンが0テストでここ現在ディレクトリーの

play08:09

ドッカーファイルを参照するよということで実行

play08:12

をしましょう

play08:14

はい実行できました続いてねぺコンテナーを作成して起動させていきましょう

play08:20

どっかぁこんっ

play08:21

いいなぁナーって今回オプションをですね配布の itt オプションを付けますこれ

play08:28

何かというと

play08:30

シェルってばバッシュってインタラクティブなプログラムなんですね

play08:34

こちらから何か指示を出したりとか知ってで向こうそうすると向こうからレスポンスが

play08:39

返ってくるテーマコマンド入力したコマンドが帰っていく

play08:41

うっていうこ&結果が帰ってくるっていうかそういうふうにインターアクティブな

play08:45

プログラムなんですよ

play08:46

でドッカー外でデフォルトは10ですインタラクティはプログラムに対応しているわけ

play08:52

じゃないのでどっかにスペインタープというはプログラムを実行するときはこちらが

play08:57

インタラクティブモードですよっていう風に

play08:59

今回をインターてインタラクティ

play09:01

るモードで撮っ母の今点を起動させますよっていうふうにどっかにね明示する必要が

play09:06

あるんですよね

play09:07

その子オプションが俳風 it オプションになりますこのハイファイティオプション

play09:12

を付けておくとインタラクティブモードで今回のドッカーのコンテナーね

play09:16

起動させますよということを取っ母に伝えることができます

play09:19

でそのことによってバッシュとね

play09:21

接続してコンテナがね実行できるようになりますではもハイファイティつけては続いて

play09:27

ポート番号をね

play09:30

しておこうと思います今回特にはポート番号を現時点で指定する必要が入っちゃいけ

play09:34

ないんですけどちょっと後でもいいんですけど

play09:36

先に指定しておいたほうが便利なので指定しておきますって

play09:40

sinatra ねれポルトで45得なっていうポート番号を使用するないね

play09:44

こちらのどっかポンてなーぐっ側のポート番号が456なれローからもその家はして

play09:51

4567の方に指定しておきます

play09:54

続いて名前のオプション付

play09:56

ておきましょう参照し痩せ名前コンテナの名前はシナトラという名前にしておきます

play10:02

続いてね8ソースコートね共有を年

play10:06

しておこうと思いますこれ何かという a choice 買えちゃいますね

play10:10

pwd のソースを a パーのたブレ ww かな

play10:16

てコレなにか

play10:16

っていうとボリュームのオプションですねこれで自分のパソコンがはこっちして自分の

play10:21

ホストが

play10:22

がこっちはでこちらの過去の1個がどっかのディレクトリーなんですけれども自分の今

play10:30

の現在のディレクトリーのソースディレクトリ以下をどっかな今

play10:36

て7位のスラッシュバーの素足 ww タブに同期させる様と共有するようというよう

play10:43

なそういうオプションになります

play10:45

これするとまあ要は自分のね今のこのソースディレクトリー区のソースコードのファイ

play10:50

ルって言うのがいい

play10:51

ロッカーコンテナ内のこのスラッシュバーの素足 www の方で共有いうされる米形

play10:58

になります

play10:59

あのまあこれしていない道と何かでファイルを作ってるからアプリケーション行動を

play11:04

その更新したときに毎回毎回にイメージを作り直さへと反映されないんですよね

play11:11

それをすると

play11:11

結構めんどくさいのでこのハイフン無いっていうオプションをつけて

play11:16

ソースコードを共有しておくとローカルでソースコードを修正したね

play11:19

ロッカーがわぁのコンテナがはのソースコードも修正されるというようなそういう役者

play11:25

になります開発辛くないねこれつけておきます

play11:27

はいでは最後に8コンテナをね起動

play11:31

させるイメージ面をねしてしておきましょう

play11:36

サンプル白とな例テストのイメージをねええ

play11:39

フェイスにコンテナを起動させるよという風に書いておきますでは実行しましょう

play11:45

するとネギまねちょっとで画面変わった分かります支流の画面がこういうふうに変わり

play11:49

ましたねこれ今なにがおきたかっていうと

play11:52

どっかの音コンテナが作成して実行されて

play11:57

ですコマンドで指示してたバッシュがね

play11:59

起動したいんですよねコマンドでさえ跳ねピンバッシュを支持してたと思うんですけど

play12:03

あれが起動されて

play12:05

で今回インタラクティブモードで実行したのでそのままね

play12:08

今ね bash で f ドッカーコンテナ内に入っているというような状態になり

play12:14

ますってちょっとに ls とかしてみましょうか

play12:16

するとわかるんですけど今ジムファイルが中にあるんですよ

play12:19

でで8キャットでジムファイルの中身を見てみたりするとこういうふうに出てきますと

play12:26

復興へつまりどうかる側のね

play12:29

自分ファイルなんですよこの廊下の総数のジェムファイルが先ほどのね

play12:34

これね今場所はこの婆 www 自分がいるわけなんですけどそこにね

play12:40

ジェムファイルが9そう成果が今同期されているというような形になります

play12:46

例えばねこれちょっとあんまり良くないですけどもうちょっと消しちゃってローカル側

play12:49

play12:49

決してでもっかい寝キャップとしてみると消えてますよね

play12:54

こういう形へねあのボリュームも指定しておくとローカルな変更というのがリアル

play13:00

タイムでね

play13:01

どっか側にも共有されるというかまぁシンクされるような状態になります

play13:06

a ではねここからは実際にライブラリーのインストールしていきましょうシナトラを

play13:10

動かしたいので

play13:12

シナたのね自分をねインストールしてこよう

play13:14

と思いますで依存するコマンドはねまずバンドるーぽん fick 配布のハイフン

play13:21

労働

play13:22

あるセットパス

play13:25

えっとえんだあああああバンドルという風にしておきますがこれあのあんまり深く考え

play13:30

なくて大丈夫です

play13:32

これはねだいぶラリーをインストールディレクトリーを指定しますベンダーバンドル

play13:36

っていうディレクトリーを作成してそこに

play13:40

ジェムファイルの中に米ライブラリーの中には in そうして来てねえ風な指示で

play13:44

ございますこれ書いた上でバンドルインストールと実行しましょうこれでジムファイル

play13:50

がライブラリーがインストールできます先ほどね

play13:53

ジムファイルっていう場所に記載した j 名の方ねこのバンドインストールで

play13:58

インストールします

play13:59

うまくインストールできまし

play14:00

たね入ってはインストールできたのでですね

play14:03

続いてソースの下に

play14:06

でしょファイルを作って開発を実際していきましょう up .ルピっていうファイル

play14:12

をね今回は作ってそこで開発していこうと思います

play14:18

えっとではねえっ

play14:20

どういうふうに書くかというとまずリッグ愛用し納豆らとこれはねあのー

play14:27

インストールしたねライブラリーのシナトラを使うよっていう設定でございます続いて

play14:32

初期設定をちょっとしておきたくてですね

play14:35

今フィギュアどぅーどぅど

play14:39

とって a セプト bind かな

play14:44

バインドを0002しておき000するとこれに ip アドレスを00002ね

play14:51

バインドしておくよという指示でございますどっから本てないでね

play14:56

このローカルのパソコンからドッカー金帯に通信たときにね

play14:59

どんな通信でもね受け取れるようにするために

play15:03

ip アドレスでは0000でパインとしておこうと思います

play15:07

最後にね8主役の

play15:10

今回の指示ですね今回もは a トップページに来たら

play15:15

トップケージに来たらアクセスされたら

play15:19

ハローディしょっぱ hello を悪いでしょうか

play15:23

ハローワールドという風に表示するような指示を書いておこうとそこへ

play15:28

ゲットでトップページきたハローワールドという風に表示するという風に書いており

play15:32

ます

play15:33

これらは全体像ですねはいねこれでも簡単なんですけどこれでもシナトラでねえ

play15:39

webサーバ動くはずなのでちょっと実行してみましょう

play15:43

panna 通りエグゼックれ p

play15:47

アップロッドロビーかなこれで実行しますがこのバウンドレイプ節句っていうのがまあ

play15:53

ジェルファイルをね使った処理をね動かす客のバンドエグゼックっていうのはお

play15:58

まじないのようにつけておきますと

play16:00

でその後に ruby で実行するファイル名を付けると

play16:05

そのライブラリーを使った上でね正准ファイルを使った上で b のね

play16:11

ファイルを実行することができます実行してみましょう

play16:15

これね無事ねぇマネー webサーバが立ち上がっております

play16:19

声で白トラを使ってまぁ web リックがね

play16:22

web リックという web サーバーが立ち上がっておりますでは猫は

play16:26

webサーバの方に2死ブラウザから曲してみましょうか

play16:30

老獪保守党のなんでした機ポートが456なのか

play16:34

今日

play16:35

某ろくなにアクセしていますするとねハローワールドというふうに出ました

play16:39

これがね先ほどの子のドッカーだねしなとられる動かしていた処理ですね

play16:45

シナターンの方でトップページアクセしたらハローワールドという風に表示するやして

play16:49

ますけどね

play16:50

それでこちらで姉のブラウズアクセしたらどっか品通信って

play16:55

ノワールという風に表示されたらケースに行ってきた

play16:58

フェイで声でねまあどういうふうにライブラリをインストールしてさあとねどういう

play17:03

指示した動かす動くかというのが分かりましたと

play17:06

ではこれをね続いてジェムファイルの方へね反映させていき安心院ファイルじゃないわ

play17:11

ドッカーファイルの方に反映させていきますライブラリーの音インストールをね

play17:17

しちゃいましょうか

play17:18

今回8らーえっとそのライブラリーインストールしてやってらんというものを使えます

play17:23

ランというのはコマンドを実行するためのものでございます

play17:27

ランなんてに実行するコマンド書いていきますで先ほど実行したコマンドをね書いて

play17:32

いきますね

play17:33

強化ルセットパス8

play17:37

ベンター

play17:38

アンドルというふうに書きますとでその後実行したのが卵のバンドルインストールでし

play17:45

play17:46

このね2つエネインストールするパスをまず支持して

play17:50

デューサーとねインストールを実行するとドライバーインストールということをやり

play17:54

ましたとこういうふうに南嶺2つ書けば先ので実際あったこと

play17:58

が出来ますこれでねインストールができるわけですこれやるとこのベースイメージに

play18:03

対してそのコマンドワーカーね実行そのベースイメージ上でコマンドが実行されたか

play18:08

先ほどね

play18:09

指導で行ったと同じことが実行されというわけですチャイ今回二行でこれこういう風に

play18:14

書いておりますが1秒に勝っこともできて繋げる場合はね

play18:17

こういう風なバックスラッシュ改定でその後コマンドを

play18:22

&&でねつなげるとコマンドを一つでか行くこともできます

play18:26

で最後にこれで音ライブラリーのインストールしたらコマンドのところね今で bash

play18:32

を起動させてるんでそちらをかけ直していきましょう

play18:36

コマンドがバンド

play18:37

オルて黒 j

play18:40

くっルービーね up .ルピーから

play18:44

up .デビュー最後に実行させましたよね

play18:48

なのでこちらを実行させておきましょうと

play18:51

てこうするとどっからコンテナを起動させた時にですねこちらのバウンドエグゼック

play18:57

ルビー up .ルビーが実行され

play18:59

えってエブサーバー金自動的に立ち上がるというわけでございます

play19:04

ちなみにねえっとね実際コマンダンテはこれでバンドリーグ節句ルビー見た感じで目

play19:10

space a に開けていったと思うんですけどこのコマンドの場所はさスペースの

play19:13

空気のところで今までね区切っていくような形になります

play19:18

はいではね今

play19:19

テナーを削除してのイメージをサックス作り直しってでもったいね

play19:24

コンテナを起動させていきましょうまずはねコマンドシフトかコントロール c で

play19:29

終了させて web サーバーを

play19:33

で行くじっとで1回ドッカーの中から抜け出しますではコンテナをね

play19:38

まずね削除しておこうと

play19:40

思いますと母本てぇなぁ

play19:43

8流打ってシナトラかなシナトラという形でます削除しておきますと

play19:48

昨日のコンテナを削除した上でイメージをつくり直していきましょう

play19:53

イメージのビューこれでいいからどっかイメージビルトハイフンてぃサンプルシナトラ

play19:59

0 test .と

play20:01

ok ですねはいでこれでまずい

play20:03

明治を作り直しました ok ですでイメージをつくり直した上でもっかい寝コンテナ

play20:09

を起動させていきましょう

play20:12

ランとってで今回はですねこのオプションのうちどっか本邸並んの先ほどのオプション

play20:19

のうち

play20:20

配布 it が入らないのでこちら1 ok

play20:23

しておきますあってもね起動するんですけども

play20:26

先ほどはねシェルがインタラクティブモードで訂正起動させる必要があったんで

play20:31

hi-fi ってつけたんですけど

play20:33

web サーバーの場合1とペインターてくてぃぶモードになる必要ないのでこちらで

play20:37

起動させておきます特にね

play20:40

こちらから入力してそれ e アクティブなく焼いてするような

play20:43

のではないんでねサーバーっ

play20:45

フィッ声でね見ましたちゃんとにウェブサーバ起動しておりますね

play20:49

で web サーバー起動しているのでもう一回ブラウザで開いてリロードしてみ

play20:53

ましょう

play20:54

hello world という風に表示されておりますね変わらず実際 web

play20:59

リックの方の心ねこう見ると実際通信もゲット金トップページに来ていると言う

play21:05

状態になっておりますこれでうまくいきました

play21:09

完璧これでドッカーファイルの基本的な書き方と基本的なねあの開発プロセスというの

play21:16

を見てきました

play21:17

基本的には今回やったみたいにまずねどっかの中でコンテナ内に入ってねそれで

play21:23

コマンド実行して

play21:25

うまくいったそれをどっかファイルに反映させてというやり方で

play21:28

ドッカー入るは書いていきますというわけでおつかれさまでした

Rate This

5.0 / 5 (0 votes)

Related Tags
Docker入門Ruby on Rails開発環境コンテナ技術プログラミング初心者向けWebサーバーSinatraGitHub技術コミュニケーション
Do you need a summary in English?