Dockerの概要とインストール、簡単な動作確認|Docker入門 #1

f:id:lib-arts:20190926200355p:plain

たまにはインフラ系のテーマもということで、Dockerの入門知識に関して簡単に内容をまとめていければと思います。
今回は概要をざっくりまとめる程度なので、高度なところまでは取り扱いませんが動作確認にあたって簡単なところだけまとめておこうと思います。(以下半分個人的なメモみたいなものなので、詳細の裏どりまでは行っていませんのでその点はご留意の上ご確認ください)
以下目次になります。
1. Dockerの概要
2. Vagrantとの違い
3. インストールと簡単な動作確認
4. まとめ

1. Dockerの概要
1節ではまずDockerの概要について取り扱います。

f:id:lib-arts:20190926200820p:plain

Docker - Wikipedia

概要の把握ということでまずはWikipediaについて確認します。OSレベルの仮想化とされており、仮想化は基本的なハードウェアを再現する技術のことを指しています。ちょっと難しいのでもう少しわかりやすくいうと、WindowsMacのPC上に他のOSを入れて別マシンのように動かすような技術のことです。
ここまでが仮想化についての説明ですが、Dockerが他の仮想化技術と相違点として、コンテナという考え方があります。コンテナはコンテナ船の比喩として用いられているようで、他の仮想化技術と違って仮想環境用にOSをインストールしないことでディスク使用量の小さくすることができるという利点を持つとされています。

f:id:lib-arts:20190926201859p:plain

主な利点として前述のように資源の効率化が挙げられています。仮想化の本来の目的として、「一台のハードウェア内にできる限り多くのサーバ用アプリケーションを実行すること」が挙げられていますが、VirtualBoxなどの仮想化では仮想環境毎にOSを丸ごとインストールする必要があり、これによって資源が浪費されないとされています。
元々アプリケーションとは直接関係のないライブラリやデータは仮想環境内で共有することが望ましく、これを実現するのがコンテナ型の仮想化とされています。ホストOS(ex. ローカルマシンやサーバ用のマシンのOS)のカーネルを共有することでDockerは一台のサーバ上で複数のインスタンスが動作しているように見えるとされています。

f:id:lib-arts:20190926202703p:plain

他にもDockerの利点として、環境の削除の容易さが挙げられています。システムの環境の設定はちょっとしたことで大きなトラブルになりかねないので、トラブルシューティングを行うことで問題を解決するよりも、環境を削除し再度当初の手順に従って再現する方が簡単であるケースが多いです。


2. Vagrantとの違い
2節ではDockerと同じく仮想環境の話でよく出てくるVagrantについて取り扱います。

f:id:lib-arts:20190926203437p:plain

f:id:lib-arts:20190926203451p:plain

Vagrant (ソフトウェア) - Wikipedia

上記のWikipediaの記述を確認していきます。VagrantVirtualBoxをはじめとする仮想化ソフトウェアが提供する仮想機械の設定や立ち上げに特化しているとされています。また、既存の仮想化ソフトウェア及び構成管理ソフトウェア(Chef、Salt、Puppet、Ansibleなど)をラップしたものとみなすこともできるとされています。
VagrantVirtualBoxなどをベースとするとされているので、仮想環境上にOSをインストールした上で用いる技術と解釈して良さそうです。
そのため、DockerとVagrantの違いとしてはVagrantは通常の意味での仮想機械、DockerはDockerコンテナという考え方を元に仮想化を行なったものと考えておくと良さそうです。


3. インストールと簡単な動作確認
3節ではDockerのインストールと簡単な動作確認についてみていきます。以下Macを想定して進めていきます。

f:id:lib-arts:20190926204740p:plain

Docker Hub

上記のDockerHubのサイトからインストールが可能です。細かい手順については詳しくまとめた記事が多かったのでそちらを参照ください。

f:id:lib-arts:20190926204807p:plain

Dockerのインストールが終わったら、Launchpadにアイコンが出ているのでそちらを選択し起動します。

f:id:lib-arts:20190926204933p:plain

起動を行うと上記のように画面の右上にクジラのマークが現れます。上記が現れていればDockerの起動ができているので、次は動作確認を行なっていきます。

f:id:lib-arts:20190926205441p:plain

Get Started, Part 1: Orientation and setup | Docker Documentation

上記のDockerのドキュメントを簡単に確認していきます。Part1のオリエンテーションということで、基本的な動作確認などがまとまっているようです。

f:id:lib-arts:20190926210029p:plain

まずは"Test Docker version"ということでDockerのバージョン確認を行います。"docker --version"を実行することでDockerのバージョンを確認することができます。

f:id:lib-arts:20190926210045p:plain

次に"Test Docker installation"を確認します。実行結果が上記のようになることを確認します。大体の雰囲気はつかめたと思うので#1はここまでとします。


4. まとめ
#1では概要の確認とインストールや簡単なコマンドの確認を行いました。
まとめているうちにもう少し確認しておく方が良さそうな印象だったため、#2ではその他のコマンドをまとめていければと思います。