Arch Linux

Arch Linux におけるインストールは、コミュニティが扱うパッケージを使います。

または、次の AUR パッケージを使います。

docker パッケージを使うと、latest(最新)にタグづけられたバージョンの Docker をインストールします。docker-git パッケージを使うと、現在のマスタ・ブランチから構築します。

依存関係

Docker のパッケージは、複数の特定パッケージと依存関係があります。主な依存関係は次の通りです。

  • bridge-utils
  • device-mapper
  • iproute2
  • lxc
  • sqlite

インストール

通常のパッケージはシンプルです。

$ sudo pacman -S docker

これで必要なパッケージすべてが入ります。

AUR パッケージは次のように実行します。

$ yaourt -S docker-git

このコマンドは yaourt のインストール済みを想定しています。インストールしていなければ、あらかじめ Arch ユーザ・リポジトリ の構築と AUR でパッケージをインストールする情報をご覧ください。

Docker の起動

docker によって systemd サービスの unit が作成されます。docker サービスを起動するには、

$ sudo systemctl start docker

システムのブート時に開始するには、

$ sudo systemctl enable docker

デーモンのオプション設定

HTTP プロキシの追加が必要な場合、Docker のランタイム・ファイルを異なったディレクトリやパーティションに置いてください。あるいは別のカスタマイズ方法として、Systemd の記事 Systemd Docker デーモン・オプションのカスタマイズ から、どのように設定するかをご覧ください。

Docker のネットワークを手動設定する

systemd バージョン 219 以上では、 systemd-network を使い、手動でネットワークを設定できます。そのため、Docker でコンテナを起動してもネットワークに接続できないかもしれません。バージョン 220 を使う場合、ネットワークの転送設定( net.ipv4.conf.<インターフェース>.forwarding )がデフォルトでは off です。この設定は IP 転送を阻止します。また、これは Docker がコンテナの中で設定する net.ipv4.conf.all.forward と競合します。

動作するためには、Docker ホスト上の /usr/lib/systemd/network/ にある <インターフェース>.network ファイルを編集し(例: /usr/lib/systemd/network/80-container-host0.netowrk )、次のブロックを追加します。

[Network]
...
IPForward=kernel
...

この設定は、コンテナからと予想される IP 転送を許可するものです。

アンインストール

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

$ sudo pacman -R docker

Docker パッケージと必要の無い依存関係をアンインストールするには、次のようにします。

$ sudo pacman -Rns docker

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

$ rm -rf /var/lib/docker

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