PUBLIC
DEVOPSドッカー6 MIN READ

TERM 012

Docker

コンテナを作り、配り、動かすための道具

Dockerは、Dockerfileからイメージを構築し、レジストリで共有し、コンテナとして実行するためのツール群と仕組みです。アプリの実行条件をコード化し、環境差を小さくします。

01BUILDイメージを作る
02PUSHレジストリへ置く
03RUNコンテナで動かす
OVERVIEW

コンテナを作成・配布・実行するための基盤の全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01DOCKERFILE

構築手順

ベース、コピー対象、依存関係、起動方法を記述します。

02IMAGE

変更不能な成果物

構築した内容をレイヤーとして保存し、同じ版を配布します。

03REGISTRY

イメージの保管庫

名前とタグまたはdigestで成果物を共有します。

01 — DEFINITION

Dockerとは
何か

Dockerは、Dockerfileからイメージを構築し、レジストリで共有し、コンテナとして実行するためのツール群と仕組みです。アプリの実行条件をコード化し、環境差を小さくします。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01BUILD

イメージを作る

Dockerfileの手順から再現可能な実行物を構築する。

02PUSH

レジストリへ置く

版を付けたイメージを共有できる場所へ保存する。

03RUN

コンテナで動かす

同じイメージを開発・検証・本番で起動する。

PROCESS

Dockerを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01DOCKERFILE

構築手順

ベース、コピー対象、依存関係、起動方法を記述します。

02IMAGE

変更不能な成果物

構築した内容をレイヤーとして保存し、同じ版を配布します。

03REGISTRY

イメージの保管庫

名前とタグまたはdigestで成果物を共有します。

04 — REAL WORLD EXAMPLE

Node.js APIをチームで共有する

メンバーごとのNode.jsやOSライブラリの差をなくします。

SCENARIO / DOCKERSTEP BY STEP
  1. 01

    Dockerfileへ依存関係と起動手順を書く

  2. 02

    CIでテスト済みイメージを構築する

  3. 03

    同じdigestのイメージを本番へ配置する

RESULT人が手順を再現する代わりに、検証した実行物そのものを環境間で移動できます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

latestタグだけに頼らない

どの内容を実行したか追えるよう、版やdigestを固定します。

02

イメージを小さく保つ

不要なツールを除き、攻撃面・転送時間・更新対象を減らします。

IN ONE SENTENCE

Dockerとは?

コンテナを作成・配布・実行するための基盤

KEEP EXPLORING

DEVOPSContainer掲載中DEVOPSKubernetes掲載中DEVOPSCI / CD掲載中