0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerについて

Posted at

#Dockerとは
「コンテナ技術」を用いた仮想環境を構築するツール。
Docker社が開発した、オープンソースの人気 No.1ソフトウェア
1つのコンテナとして確立させる為の手間をまとめてるので簡単にコンテナが作れちゃう。

 

##Dockerの仕組み

  • DockerHub      に保存してある
  • Dockerイメージ   (コンテナ作る為のレシピ)を使い
  • Dockerコンテナ    を作って
  • Dockerエンジン    で動かします。
     

###DockerHub ( レジストリ )
Dockerの為のコンテナ共有サービス。ほぼ GitHub 。
① Dockerのイメージがたくさん転がっているので、そこからPullしてコンテナを作ります。( Pullしたイメージを元にrunコマンドでコンテナを作成 )
② 作ったコンテナで開発や作業をし、それをイメージにcommitする。 
③ コミットしたイメージをDockerHubにPushする事で自分のリポジトリにアップロード。
④ 開発作業などで違うPCでもイメージを使いたいときに、そのアップロードしたイメージをPullするだけでOK!
 
image.png

###Dockerイメージ
コンテナの元となるもの、ひな型、パッケージ。
イメージはいくつかのレイヤと呼ばれるファイルを重ねることで出来ています。
もし欲しいイメージが無かった場合はDockerfileを使い自分でイメージを作ることが出来ます。


FROM  ubuntu:18.10       #ベースとなるOSの指定    

LABEL version="1.0"        #Dockerfileのメタ情報(こう言うFileだよと言う情報)
LABEL description="Dockerfileのテスト、Apacheサーバー"
 
RUN   apt-get update
RUN   apt-get install -y apache2   #このFileに入るレイヤのインストール

CMD   ["apachectl", "-D", "FOREGROUND"]  #コマンドで上のRUNを起動させている

 

コマンド  実行内容 
FROM ベース(親)画像を指定します。
LABEL メタデータを提供します。 メンテナ情報を含めるのに良い場所です。
ENV 永続的な環境変数を設定します。
RUN コマンドを実行してイメージレイヤを作成します。 パッケージをコンテナにインストールするために使用されます。
COPY ファイルとディレクトリをコンテナにコピーします。
ADD ファイルとディレクトリをコンテナにコピーします。 ローカルの.tarファイルをアンパックできます。
CMD 実行中のコンテナにコマンドと引数を提供します。 パラメータは上書きできます。 CMDは1つだけです。
WORKDIR あとに続く説明の作業ディレクトリを設定します。
ARG ビルド時にDockerに渡す変数を定義します。
ENTRYPOINT 実行中のコンテナにコマンドと引数を提供します。 引数は存続します。
EXPOSE ポートを公開します。
VOLUME 永続データにアクセスして保存するためのディレクトリマウントポイントを作成します。

###Dockerコンテナ
Dockerイメージの情報を元に起動された仮想環境

###Dockerエンジン
Dockerの心臓、ここがあってのDockerであり、Dockerそのものになります。
コンテナやイメージからくるコマンドをホストOSに伝えて動かす為のもの。

3つの要素からなりたっており

•  コマンド命令を受け付ける部分
•  REST API(ステートレスなデータのやり取り)
•  Dockerデーモン(ホストOSとやり取りするところ)
                           と分かれています。

 image.png

##まとめ
これだけ簡単に環境設定が出来て軽くて使い勝手が良いなんて三拍子揃ってるなんて素敵!!
デメリットも色々あるようですが、気軽に使えるから便利!!!
 

##参考
http://docs.docker.jp/v1.12/engine/understanding-docker.html
https://qiita.com/shubatto/items/105f5b90e1cd91ba7c4c
https://blog.codecamp.jp/docker-file-how-to
https://tech-lab.sios.jp/archives/19073
https://knowledge.sakura.ad.jp/13265/
https://www.youtube.com/watch?v=VIzLh4BgKck

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?