Debian

Docker は以下の Debian バージョンをサポートしています。

  • Debian testing stretch (64-bit)
  • Debian 8.0 Jessie (64-bit)
  • Debian 7.7 Wheezy (64-bit)

注釈

以前に Docker を apt でインストールしていた場合は、 apt ソースを新しい Docker レポジトリに更新してください。

動作条件

Docker は 64bit でインストールされた何らかの Debian バージョンを必要とします。さらに、kernel は少なくとも 3.10 以上が必要です。最新の 3.10 マイナーバージョンか、それよりも新しいバージョンが利用可能です。

3.10 よりも低いカーネルは、Docker コンテナ実行時に必要な一部の機能が足りません。古いバージョンは既知のバグがあります。その影響により、特定条件下でデータの損失や定期的なカーネルパニックを引き起こします。

現在のカーネル・バージョンを確認するには、ターミナルを開き、 uname -r を使ってカーネルのバージョンを確認します。

$ uname -r

apt ソースの更新

Docker 1.7.1 以上は Docker の apt レポジトリに保管されています。 apt が新しいレポジトリにあるパッケージを使えるように設定します。

  1. まだであれば Debian サーバに特権ユーザでログインします。
  1. ターミナルのウインドウを開きます。
  1. 古いレポジトリをパージします。
$ apt-get purge lxc-docker*
$ apt-get purge docker.io*
  1. 新しい gpg 鍵を追加します。
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  1. /etc/apt/sources.list.d/docker.list ファイルを好みのエディタで開きます。

ファイルが存在しなければ、作成します。

  1. 既存のエントリがあれば削除します。
  1. Debian オペレーティング・システム向けのエントリを追加します。

利用可能なエントリは以下の通りです。

  • Debian Wheezy
deb https://apt.dockerproject.org/repo debian-wheezy main
  • Debian Jessie
deb https://apt.dockerproject.org/repo debian-jessie main
  • Debian Stretch/Sid
deb https://apt.dockerproject.org/repo debian-stretch main
  1. /etc/apt/sources.list.d/docker.list ファイルを保存して閉じます。
  1. apt パッケージのインデックスを更新します。
$ apt-get update
  1. 古いレポジトリが残っているのなら、パージします。
$ apt-get purge lxc-docker
  1. apt が正しいレポジトリから取得できるか確認します。
$ apt-cache policy docker-engine

これで apt-get update を実行すると、 apt は新しいレポジトリから取得します。

Docker インストール

Docker インストール前に、必要条件で説明した通り、 apt レポジトリを正しく設定してください。

  1. apt パッケージのインデックスを更新します。
$ sudo apt-get update
  1. Docker をインストールします。
$ sudo apt-get install docker-engine
  1. docker デーモンを開始します。
$ sudo service docker start
  1. docker が正常にインストールされたか確認します。
$ sudo docker run hello-world

このコマンドは、テストイメージをダウンロードし、コンテナとして実行します。コンテナを実行すると、メッセージ情報を表示して、終了します。

root 以外のアクセス指定

docker デーモンは常に root ユーザとして実行され、 docker デーモンは TCP ポートの替わりに Unix ソケットをバインドします。デフォルトでは、Unix ソケットは root ユーザによって所有されており、他のユーザは sudo でアクセスできます。

あなた(もしくは Docker インストーラ)は、docker という名称のグループを作成し、そこにユーザを追加します。 docker デーモンが起動すると、docker グループの所有者により Unix ソケットの読み書きが可能になります。 docker デーモンは常に root ユーザとして実行しなくてはいけませんが、 docker グループのユーザであれば、 docker クライアントを実行できますので、 sudo 設定を全てのクライアントのコマンドに追加する必要はありません。Docker 0.9.0 移行は、 -G フラグを使って別のグループを指定できます。

警告

docker グループは root ユーザ相当です。システム上のセキュリティに対する影響の詳細は、 Docker デーモンが直面する攻撃 をご覧ください。

docker グループを作成し、ユーザを追加するには、

  1. Debian に sudo 特権のあるユーザでログインします。
  1. docker グループを作成し、ユーザを追加します。
$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker
  1. Docker デーモンを再起動します。

Docker のアップグレード

Docker の最新版をインストールするには、 apt-get を使います。

$ apt-get upgrade docker-engine

アンインストール

Docker パッケージをアンインストールします。

$ sudo apt-get purge docker-engine

Docker パッケージと必要の無い依存関係をアンインストールします。

$ sudo apt-get autoremove --purge docker-engine

上記のコマンドは、イメージ、コンテナ、ボリュームやホスト上の設定ファイルを削除しません。イメージ、コンテナ、ボリュームを削除するには次のコマンドを実行します。

$ rm -rf /var/lib/docker

ユーザが作成した設定ファイルは、手動で削除する必要があります。