バイナリをインストール¶
この手順は Docker を様々な環境で動かしたいと考える上級者向けです。
以下の指示を進める前に、ディストリビューションに対応した Docker がパッケージされたバージョンが存在しているかどうか、ご確認ください。私たちは多くのディストリビューション向けのパッケージを提供しており、ほとんどが使えるでしょう。
実行時の依存関係を確認¶
docker を適切に実行するには、以下のソフトウェアが実行時に必要です。
- iptables バージョン 1.4 以上
- Git バージョン 1.7 以上
- procps (あるいは “ps” のように実行できるもの)
- XZ Utils 4.9 以上
- 適切にマウントされた cgroupfs 回想(単一の “cgroup” マウント・ポイントしかないものは 不完全 です。)
kernel 依存関係の確認¶
Docker のデーモン・モードは特定のカーネルを必要とします。詳細については、各ディストリビューションの インストール をご確認ください。
Docker は少なくとも Linux カーネル 3.10 を必要とします。カーネルが 3.10 よりも低い場合、Docker コンテナを実行するための機能が不足しています。古いバージョンは、特定条件下においてデータの損失や定期的なパニックを起こすバグが知られています。
3.10 の最新マイナーバージョン(3.x.y)の Linux カーネル(または最新の管理バージョン)が推奨です。常にカーネルを最新のマイナーバージョンにすることで、致命的なカーネルのバグが修正されるようにします。
警告
変更したカーネルインストールやカーネルのパッケージは Linux ディストリビューションのベンダーによってはサポートされません。ディストリビューション上に変更したカーネルをインストールする前に、ベンダーに対して Docker のサポートについて確認してください。
警告
ディストリビューションによっては、新しいカーネルのパッケージが提供されておらず、古すぎるか新しいカーネルと互換性が無い場合があります。
Docker はクライアント・モードとしてであれば、ほとんどの Linux カーネルで実行可能です(たとえ OS X でビルドしても!)。
可能であれば AppArmor と SELinux の有効化を¶
Linux ディストリビューションが AppArmor か SELinuxをサポートしているのであれば、どちらか1つをご利用ください。セキュリティの改善と、あらゆる種類の攻撃(exploits)から守るための助けとなります。推奨されるセキュリティ機構と詳細な使い方は、ディストリビューションのドキュメントをご覧ください。
ディストリビューションによっては AppArmr や 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 デーモンの実行はできません。Windows の最新バージョンをダウンロードするには、次の URL を使います。
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
コマンドの実行は不要です。