バイナリをインストール

このページは、 Docker を様々な環境で動かそうとしている上級者向けの手順です。

以下に進む前に、まず、皆さんがお使いのディストリビューションに対応した Docker のパッケージ版が存在しているかどうか、ご確認ください。私たちは様々なディストリビューションに対応したパッケージを提供しています。対応は更に増え続けるでしょう。 j .. Check runtime dependencies

実行時の依存関係を確認

docker を適切に実行するには、以下のソフトウェアが実行時に必要です。

  • iptables バージョン 1.4 以上
  • Git バージョン 1.7 以上
  • procps (あるいは “ps” のように実行できるもの)
  • XZ Utils 4.9 以上
  • 適切にマウントされた cgroupfs 階層(単一の “cgroup” マウント・ポイントしかないものは 不完全 です。)

kernel 依存関係の確認

Docker をデーモン・モードで実行するには(サーバとして使うには)、特定のカーネルが必要です。詳細については、各ディストリビューションの インストール のページをご確認ください。

Docker を動かすには少なくとも Linux カーネル 3.10 が必要です。カーネルが 3.10 よりも低い場合は、Docker コンテナを実行するための機能が不足します。また、古いバージョンでは、特定条件下におけるデータの損失や、定期的なパニックが発生するバグが知られています。

Linux カーネルの推奨バージョンは 3.10 系の最新マイナーバージョン(3.x.y)(または最新の管理バージョン)です。常にカーネルを最新のマイナーバージョンにすることで、致命的なカーネルのバグが修正されるようにします。

警告

変更したカーネルやカーネル・パッケージをインストールすると、 Linux ディストリビューションのベンダーによってはサポート対象外になる場合があります。ディストリビューション上に変更したカーネルをインストールする前に、ベンダーに対して Docker をサポートしているかどうか確認をお願いします。

警告

ディストリビューションによっては、古すぎるか新しいカーネルと互換性が無いため、新しいカーネルのパッケージが提供されていない場合があります。

ただし、Docker をクライアント・モードとして使うのであれば、ほとんどの Linux カーネル上で実行可能です(たとえ OS X 上でビルドしていても!)。

可能であれば AppArmor と SELinux の有効化を

Linux ディストリビューションが AppArmor か SELinuxをサポートしているのであれば、どちらかをご利用ください。セキュリティの改善と、あらゆる種類の内部攻撃(exploits)から守るための助けとなります。推奨されるセキュリティ機構と詳細な使い方は、各ディストリビューションのドキュメントをご覧ください。

ディストリビューションによっては AppArmor や SELinux がデフォルトで有効になっていても、カーネルの最小動作条件(3.10以上)を満たさないかもしれません。カーネルを 3.10 や新しいものへ更新すると、そのシステムでは Docker の起動やコンテナを実行できないかもしれません。システムが提供する AppArmor や SELinux のユーザ・スペース・ユーティリティとカーネル間の非互換性により、Docker の実行ができなかったり、コンテナを起動できない等、コンテナが予期しない動作を起こす可能性があります。

警告

何らかのセキュリティ機構を有効にしている場合、Docker やコンテナが実行できようにするため無効化すべきではありません。無効化は環境のセキュリティを低下させ、システムはディストリビューション・ベンダからのサポートを受けられなくなります。さらに、極めて管理された環境においては、規則やセキュリティポリシー違反にもなるでしょう。

Docker バイナリの入手

最新版や特定バージョンのバイナリをダウンロードできます。バイナリ・ファイルをダウンロード後、ファイルを実行するために実行権限の設定が必要です。

Linux と Mac OS でファイル実行権限を設定:

$ chmod +x docker

GitHub で安定リリース・バージョンの一覧を確認できます。 docker/docker リリース・ページ をご覧ください。

Linux バイナリの入手

Linux の最新バージョンは、以下の URL からダウンロードします。

https://get.docker.com/builds/Linux/i386/docker-latest
https://get.docker.com/builds/Linux/x86_64/docker-latest

Linux 用の特定バージョンをダウンロードするには、次の URL パターンを使います。

https://get.docker.com/builds/Linux/i386/docker-<version>
https://get.docker.com/builds/Linux/x86_64/docker-<version>

実行例:

https://get.docker.com/builds/Linux/i386/docker-1.6.0
https://get.docker.com/builds/Linux/x86_64/docker-1.6.0

Mac OS X バイナリの入手

Mac OS X ではクライアント用のバイナリが提供されています。docker デーモンは実行できません。Mac OS X の最新バージョンは、以下の URL からダウンロードします。

https://get.docker.com/builds/Darwin/i386/docker-latest
https://get.docker.com/builds/Darwin/x86_64/docker-latest

Mac OS X 用の特定バージョンをダウンロードするには、次の URL パターンを使います。

https://get.docker.com/builds/Darwin/i386/docker-<version>
https://get.docker.com/builds/Darwin/x86_64/docker-<version>

実行例:

https://get.docker.com/builds/Darwin/i386/docker-1.6.0
https://get.docker.com/builds/Darwin/x86_64/docker-1.6.0

Windows バイナリの入手

Windows クライアントのバイナリは、バージョン 1.6.0 以降をダウンロードできます。ただし、バイナリはクライアントのみであり、docker デーモンを実行できません。以下の URL から Windows の最新バージョンをダウンロードします。

https://get.docker.com/builds/Windows/i386/docker-latest.exe
https://get.docker.com/builds/Windows/x86_64/docker-latest.exe

Windows 用の特定バージョンをダウンロードするには、次の URL パターンを使います。

https://get.docker.com/builds/Windows/i386/docker-<version>.exe
https://get.docker.com/builds/Windows/x86_64/docker-<version>.exe

実行例:

https://get.docker.com/builds/Windows/i386/docker-1.6.0.exe
https://get.docker.com/builds/Windows/x86_64/docker-1.6.0.exe

Docker デーモンの実行

# start the docker in daemon mode from the directory you unpacked
$ sudo ./docker daemon &

root 以外のアクセス

docker デーモンは常に root ユーザとして稼働します。そして、デフォルトの docker デーモンは TCP ポートのかわりに Unix ソケットをバインドします。この Unix ソケットの所有者は root のため、 sudo でアクセスする必要があります。

あなたが(あるいは Docker インストーラが) docker という名称の Unix グループを作成している場合は、デーモンを起動後、 docker グループに追加したユーザが docker デーモンの Unix ソケットを読み書きできるようになります。 docker デーモンは常に root ユーザとして実行する必要がありますが、docker グループに所属しているユーザであれば、 docker クライアント実行時に sudo コマンド実行が不要です。

警告

docker グループ(あるいは -G でグループを指定)は root と同等です。詳細は Docker デーモンが直面する攻撃 をご覧ください。

アップグレード

手動でインストールした Docker をアップグレードするには、まず docker デーモンを停止します。

$ killall docker

以降は通常のインストール手順と同じです。

はじめてのコンテナ実行!

# docker バージョンの確認
$ sudo ./docker version

# コンテナを実行し、コンテナ内のシェルをインタラクティブに開きます
$ sudo ./docker run -i -t ubuntu /bin/bash

ユーザ・ガイド に進みます。