Docker入門メモ

Dockerとは

  • コンテナ型仮想環境を作成、実行、管理するためのプラットフォーム
  • Dockerのソフトウェアを使い、素早くコンテナを起動して様々なアプリを実行することができる
  • 異なる設定環境のPCでも簡単に同じ仮想環境を再現できる
  • DockerはGo言語で書かれている

Dockerの用語

Dockerイメージ

Dockerコンテナを作成するための雛形となるもの。
Dockerイメージは、アプリケーション、ライブラリ、設定ファイルなど、アプリケーションを実行するのに必要なものを一式にまとめたもの。
出来上がったアプリケーションをDockerイメージとして保存して、別のサーバーへ持っていくことで同じ環境を別のサーバーでも再現することが可能

Dockerコンテナ

Dockerイメージをもとに作成されるコンテナ型仮想環境のことをDockerコンテナ、またはコンテナと呼ぶ
イメージからコンテナを作成することで、何度でも同じ仮想環境を作成することができる
コンテナを起動することで、イメージにセットアップしたアプリケーションの機能を提供することができる。

Docker Hub

Dockerイメージを保存するための機能などを提供しているサービス。
別の方が作成したイメージもダウンロードでき、コンテナとして動かすことができる
Docker Hubのようなイメージを補完できる機能を持ったものをレジストリと呼ぶ

ユースケース

  • アプリケーション開発
  • 検証環境、本番環境
  • Webサーバー、DBサーバーの構築
  • その他のミドルウェアの環境設定

Dockerを使うメリット

  • プログラムの実行環境を素早く立ち上げられる
  • 再現性のある環境を用意できる、違うPCやサーバー間で動かす場合も差異が生まれにくい
  • 設定ファイルを共有することでプロジェクトメンバー間で同じ環境を立ち上げられる
    インフラ環境のコードを定義したものをinfrastructure as codeと呼んだりする。
    設定ファイルをもとに環境を作ることができ、設定ファイルを見れば何がインストールされているのかもわかる。
  • PC環境を汚さずにすむ