実践Docker

はじめに

勉強会の流れ

基本的に座学です。貴重な時間を無駄にしないよう、説明が簡素過ぎる、もしくは冗長すぎる場合はフィードバックをください。

途中で質問タイムを設けるので適宜質問してください。
手を挙げるのにハードルを感じる方は、このドキュメントに質問をコメントしてください。

勉強会中にみなさんのPCでDockerを動かす時間は取りませんが、このドキュメントにサンプルコードが添付されているので自宅でじっくり試していただくことができます。

自己紹介

片岡航平(Twitter: p__oka)。
株式会社ワクテクで取締役CTOを務めています。

目次


Dockerとはどんな技術か

Dockerを一文で端的に説明した文をいくつか紹介します。

  • コンテナ型の仮想化環境を提供するOSS
  • アプリケーションをどこでも実行するためのプラットフォーム
  • 非常に軽量なコンテナ型のアプリケーション実行環境

いくつかキーワードを整理しましょう。

仮想化環境とは

物理マシン(コンピュータリソース)を抽象化すること。抽象化しリソースを分割することで、一台の物理マシン上で複数のOSを動かすことができる。



身近にある典型的な仮想化環境
  • VirtualBox
  • AWS EC2
  • OpenStack

コンテナとは

Linuxカーネルが持つ「コンテナ」機能などを使って、実行環境を他のプロセスから隔離し、その中でアプリケーションを動作させる仮想化技術。

急に説明が難しくなってしまいました。
「アプリケーションを動作させる」とありますが、DockerはアプリケーションをLinuxプロセスという単位で扱います。Linuxプロセスが分からないと以降の説明が頭に入らないため、ここは丁寧に説明します。

MacまたはLinuxをお使いの方は、ターミナルで以下のコマンドを叩いてみましょう。

$ ps aux