バイナリから Docker CE のインストール

注釈

このページへはリダイレクトによりやってきたかもしれません。 お使いの Linux ディストリビューションでは、ダイナミックリンクによる Docker パッケージが提供されていないためです。

Docker を利用したい、あるいはテスト環境で使いたいと思っても、お使いのプラットフォームでは Docker がサポートされていません。 そんなときはスタティックリンクされたバイナリをインストールしてみてください。 可能であれば、お使いのオペレーティングシステム用にビルドされたパッケージを使い、オペレーティングシステムのパッケージ管理方法に基づいて Docker のインストールやアップグレードを行ってください。 なお 32 ビットのスタティックバイナリには、Docker デーモンが含まれていない点に注意してください。

Docker デーモンに対するスタティックバイナリは、Linux において( dockerd として)、また Windows Server 2016 や Windows 10 において( dockerd.exe として)利用可能です。 Docker クライアントに対するスタティックバイナリは、Linux と macOS において( docker として)、また Windows Server 2016 や Windows 10 において( docker.exe として)利用可能です。

Linux においてデーモンとクライアントのバイナリをインストール

前提条件

Docker のバイナリをインストールする場合には、ホストマシンが以下の前提条件を満たしていることを確認してください。

  • 64 ビットシステム。
  • Linux カーネルのバージョンは 3.10 またはそれ以上。 利用するプラットフォームが提供する最新カーネルを用いることを推奨。
  • iptables のバージョンは 1.4 またはそれ以上。
  • git のバージョンは 1.7 またはそれ以上。
  • ps 実行モジュールがあること。通常 procps あるいは類似パッケージが提供している。
  • XZ Utils のバージョンは 4.9 またはそれ以上。
  • cgroupfs 階層が適切にマウントされていること 。 単純にすべてを取りまとめた cgroup マウントポイントでは不十分です。 Github の 以下の issue を参考にしてください。 #2683#3485#4568

できるだけセキュアな環境を

OS に関すること

利用可能であれば SELinux や AppArmor を有効にしてください。

利用する Linux ディストリビューションが SELinux または AppArmor をサポートしている場合は、それらを利用することを推奨します。 これを有効にしていればセキュリティは向上し、ある種のセキュリティ攻撃を防ぐことにもつながります。 SELinux や AppArmor を設定し有効にする手順については、各 Linux ディストリビューションのドキュメントを参照してください。

警告

セキュリティ警告
このセキュリティ機能を有効にしていた場合には、Docker やコンテナを動作させたいからというので、機能を無効にするのはお止めください。 そのかわりに、正しく機能するように設定を適切に行ってください。
Docker デーモンに関すること

スタティックバイナリのインストール

  1. スタティックバイナリのアーカイブをダウンロードします。 https://download.docker.com/linux/static/stable/ へ行き、対応するハードウェアプラットフォーム向けのものを選びます。 ( stable の部分は必要に応じて nightlytest とします。) 必要としている Docker CE のバージョンに対応づいた .tgz ファイルをダウンロードします。
  1. tar ユーティリティを使ってアーカイブを展開します。 バイナリ dockerddocker が抽出されます。
$ tar xzvf /path/to/<FILE>.tar.gz
  1. 任意の作業: 上のバイナリを実行パスの通ったディレクトリ、たとえば /usr/bin/ などに移動させます。 この作業を行わない場合、dockerdockerd コマンドを起動する際には、常に実行ファイルへのパスも指定する必要があります。
$ sudo cp docker/* /usr/bin/
  1. Docker デーモンを起動します。
$ sudo dockerd &

デーモンに追加のオプションをつけて実行する必要がある場合は、上記のコマンドそれぞれを修正するか、あるいは設定ファイル /etc/docker/daemon.json を生成編集します。 そこに必要な設定オプションを追加します。

  1. Docker が正しくインストールされたことを確認するために hello-world イメージを実行します。
$ sudo docker run hello-world

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

次のステップ

  • Linux インストール後の作業 へ進む

macOS においてクライアントのバイナリをインストール

macOS のバイナリには Docker クライアントのみが提供されます。 つまり dockerd デーモンは含まれていません。

  1. スタティックバイナリのアーカイブをダウンロードします。 https://download.docker.com/mac/static/stable/x86_64/ へ行きます。 ( stable の部分は必要に応じて nightlytest とします。) 必要としている Docker CE のバージョンに対応づいた .tgz ファイルをダウンロードします。
  1. tar ユーティリティーを使ってアーカイブを展開します。 バイナリ docker が抽出されます。
$ tar xzvf /path/to/<FILE>.tar.gz
  1. 任意の作業: 上のバイナリを実行パスの通ったディレクトリ、たとえば /usr/local/bin/ などに移動させます。 この作業を行わない場合、dockerdockerd コマンドを起動する際には、常に実行ファイルへのパスも指定する必要があります。
$ sudo cp docker/docker /usr/local/bin/
  1. Docker が正しくインストールされたことを確認するために hello-world イメージを実行します。 <hostname> にはホスト名かその IP アドレスを指定します。 このホストは Docker デーモンが起動しているマシンのことであり、クライアントからアクセス可能であるものです。
$ sudo docker -H <hostname> run hello-world

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

Windows においてクライアントのバイナリをインストール

Docker のバイナリは Windows Server 2016 や Windows 10 にインストールします。 バイナリには dockerd.exedocker.exe がともに含まれます。

  1. 以下のように PowerShell コマンドを実行して Docker のインストールと起動を行います。
PS C:\> Invoke-WebRequest https://download.docker.com/win/static/stable/x86_64//docker-17.06.0-ce.zip -UseBasicParsing -OutFile docker.zip

PS C:\> Expand-Archive docker.zip -DestinationPath $Env:ProgramFiles

PS C:\> Remove-Item -Force docker.zip

PS C:\> dockerd --register-service

PS C:\> Start-Service docker
  1. Docker が正しくインストールされたことを確認するために hello-world イメージを実行します。
PS C:\> docker run hello-world:nanoserver

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

スタティックバイナリのアップグレード

Docker CE を手動によりインストールしていて、これをアップデートする場合は、まずローカルで起動させている dockerd あるいは dockerd.exe のプロセスをすべて終了させます。 そして通常の手順により新しいバージョンをインストールします。