月間25,000PV達成! 収益は毎日発生中! 記事はほぼ毎日更新中! ギランバレー症候群に関する情報を集めています

Dockerとは?初心者が初めて使ってみたので解説!

             
  • 2019.06.20
  • Docker
Dockerとは?初心者が初めて使ってみたので解説!
Advertisement

 

あなたはDockerというものをご存知ですか?

・Dockerって聞いたことあるけど、よう分からん。。

・コンテナを使うやつっていう位しか知らん。

・便利なものっていう位しか知らん。

このように、Dockerについて詳しくない方も多いはずです。

 

僕も、Dockerを使ったことがなく、全くと言っていいほど知識がありませんでした。

勉強するのに良いサイトもなかったので、それなら自分で記事を書いちゃえということで色々とまとめてみました。

 

 

Dockerとは

Dockerとは、コンテナと呼ばれるOSレベルの仮想化環境を提供するオープンソースソフトウェアです。

まあ、いい感じのシャレオツな仮想環境ってことです。

 

Dockerは「アプリケーションのデプロイ」に特化しています。

 

 

Dockerの実行方法

Dockerは、「イメージ」「コンテナ」の2つの概念を持ちます。

・イメージは「OS・アプリケーションがセットとなっているテンプレ」

・コンテナは「イメージを元に実行される箱」

つまり、イメージを作成し、コンテナを実行することで、様々な環境を構築できるということになります。

 

イメージは、Docker Hubというリポジトリに公開されているものも多いので、自分ですべてを作成する必要はありません。

 

 

Dockerのメリット

Dockerを使うのは良いですが、そもそもなぜ使うのかを理解しておく必要があります。

Dockerにはしっかりとしたメリットがあるので、ポイントを押さえておきましょう。

 

ミドルウェアをローカルにインストールする必要がない

Dockerは、OS・アプリケーションなどをコンテナという単位で扱うため、ローカルにミドルウェアをインストールする手間が省けます

 

同一環境を構築することが容易

Dockerは容易に同一環境を構築することができます。つまり、開発環境を本番環境に複製することもできるということです。

開発と本番で同一環境を再現できるというのは開発者からすれば有難いですね~。

 

軽量である

従来、仮想環境を構築するなら「Virtual Box」などの仮想化ソフトウェアを使用していました。

それぞれに良さがあるわけですが、Dockerは仮想化ソフトウェアを使用するよりも軽量という特徴があります

※個人的に「Virtual Box」はあまり好きじゃありません。とりあえず重い。。

 

優れたポータビリティ性

Dockerは、優れたポータビリティ性を持ちます

OS・アプリケーションなどをコンテナという1単位として扱うので、別環境に同じ環境を構築するのも容易なわけです。

 

 

Dockerのインストール

Dockerを使用できる環境を構築します。

Docker for Windows/Macをインストールします。

■Docker for Windows/Macのインストール

URL:「https://store.docker.com/editions/community/docker-ce-desktop-windows」

 

僕の環境は、OSがWindows10なので、今後はWindows10を前提として話を進めていきます。

 

 

Advertisement

 

まずはDockerを使ってみよう!

何事もまずは触れてみる、ということで実際にDockerを使用してみましょう。

今から作成するものは、シェルを実行するだけのアプリケーションですが、これをDockerで再現してみます。

※とりあえずコンソールに「俺やで!!!」と表示するアプリケーションを再現します。

 

 

まずは、シェルを作成します。「俺やで!!!」を出力するだけのシェルですね。

 

 

次に、Dockerfileを作成します。Dockerfileは「Dockerがどんなイメージを作成・実行するかを定義するファイル」です。

以下が、Dockerfileで使用するインストラクション(命令)の説明です。

インストラクション 概要
FROM ベース(コンテナのひな型)となるDockerイメージ(OS)を定義する。
COPY ホスト側から、Dockerコンテナ内へファイルをコピーする。
RUN Dockerコンテナ内で任意のコマンドを実行する。
CMD 出来上がったイメージをDockerコンテナとして実行する前に行われるコマンドを定義する。

 

 

シェルファイルとDockerfileを同一フォルダに配置し、コマンドを実行します。

Dockerイメージをビルドしています。

 

 

Dockerコンテナを実行します。

 

 

俺やで!!!」とコンソール上に表示されればOKです。

※「standard_init_linux.go:190: exec user process caused “no such file or directory”」みたいなエラーが出ることがありますが、ファイルの改行コードは「CRLF」ではなく「LF」でないとダメっぽいです。

 

 

おすすめ本

Dockerを深く理解したい方は、以下の書籍がおすすめです。

 

 

 

まとめ

思っている以上に簡単ですね。

あと、やっぱり軽量なんですよね、Dockerは。

今後も少しずつ勉強していきます!

ではさいなら。

Travelerを知らないの?