LoginSignup
0
0

Dockerについてわかったこと

Posted at

Dockerについて初心者なりにわかったことを書いていこうと思う。

通常、プログラミングでアプリケーションなどを作ったときはそのアプリケーションを他のサーバーや環境で動かそうと思ったら、そのアプリケーションで使われているプログラミング言語やデータベースのMySQLなどをインストールしないとアプリケーションは動かない。

しかし!Dockerを使うとそんなめんどくさいインストールとかとはおさらばできるのだ!

 ・まず、Dockerとはコンテナ型仮想環境を作成・実行・管理するためのプラットフォームのこと。
 ・コンテナ型仮想環境とはアプリケーションとその実行環境を1つにまとめあげて動作させる技術のこと
  で、簡単にいうとコンテナはアプリケーションに必要な物(プログラミング言語やその他ツール)をまとめた箱のこと。

Dockerのイメージ図

image.png
引用:https://o2mamiblog.com/docker-beginner-1
図のようにコンテナを起動する手順的には以下のとおりである。

1. まず、クライアント(Dockerクライアント)がコマンド(指示書)を打つ
2.それが、Dockerデーモンに渡され、渡されたデーモンさんがその指示書を受け付けて、Docker機能に命令を出す。(例:DockerイメージやDockerコンテナの作成など)
3.DockerHubなどのリポジトリから公式のイメージを取得(pull)。(簡単に言えば、ポケモンゲームのカセット)
4.(ここからは例を持ち出して説明)持ってきたポケモンのカセット(イメージ 1)をローカルイメージという場所に保存。
5.DockerFileにポケモンのカセットを「In!」してチョーエキサイティング(保存)する。
6.そのポケモンのカセットを改造したいなら何か追加して(なければそのままで)「自作のイメージ」を作成する。(build)(例:railsなどのフレームワークだったり、ラジバンダリー)
7.これまでで作ったイメージをもとにコンテナ(仮想環境)を作成する。(create)
8.コンテナを起動する。(start)

Dockerのメリット

・1台のサーバー上に複数のアプリケーション実行環境(Dockerコンテナ)を作成・利用できる。※サーバーの有効活用や、サーバー機の節約が可能

・アプリケーション実行環境(Dockerコンテナ)の他サーバーなどへの移転、他ユーザーとの共有※Dockerコンテナの移転や共有は複雑で手間のかかる操作を必要とせず、簡単に実行可能

・Dockerコンテナでアプリケーションの開発環境を作成し、インターネット上で他エンジニアと簡単に共有できる

終わりに

 Docker を使えば、例えば、10台のサーバーで同じアプリケーションを起動させたいとき、通常はサーバー1台ごとに起動させたいアプリケーションのプログラミング言語やデータベースのツールのインストールなどの仮想環境構築をしなければならないが、Docker はそんなことをしなくてもDocker さえあればアプリケーションを起動することができるので自分も使えれば使っていこうと思う。
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