バイナリから 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 デーモンに関すること¶
利用可能であれば、セキュリティプロファイル
seccomp
を有効にしてください。 Docker における seccomp の利用 を参照。
利用可能であればユーザ名前空間を有効にしてください。 デーモンのユーザ名前空間に関するオプション を参照。
スタティックバイナリのインストール¶
スタティックバイナリのアーカイブをダウンロードします。 https://download.docker.com/linux/static/stable/ へ行き、対応するハードウェアプラットフォーム向けのものを選びます。 (
stable
の部分は必要に応じてnightly
やtest
とします。) 必要としている Docker CE のバージョンに対応づいた.tgz
ファイルをダウンロードします。
tar
ユーティリティを使ってアーカイブを展開します。 バイナリdockerd
とdocker
が抽出されます。
$ tar xzvf /path/to/<FILE>.tar.gz
任意の作業: 上のバイナリを実行パスの通ったディレクトリ、たとえば
/usr/bin/
などに移動させます。 この作業を行わない場合、docker
やdockerd
コマンドを起動する際には、常に実行ファイルへのパスも指定する必要があります。
$ sudo cp docker/* /usr/bin/
Docker デーモンを起動します。
$ sudo dockerd &
デーモンに追加のオプションをつけて実行する必要がある場合は、上記のコマンドそれぞれを修正するか、あるいは設定ファイル
/etc/docker/daemon.json
を生成編集します。 そこに必要な設定オプションを追加します。
Docker が正しくインストールされたことを確認するために
hello-world
イメージを実行します。
$ sudo docker run hello-worldこのコマンドはテストイメージをダウンロードして、コンテナ内で実行します。 コンテナが起動すると、メッセージを表示して終了します。
macOS においてクライアントのバイナリをインストール¶
macOS のバイナリには Docker クライアントのみが提供されます。
つまり dockerd
デーモンは含まれていません。
スタティックバイナリのアーカイブをダウンロードします。 https://download.docker.com/mac/static/stable/x86_64/ へ行きます。 (
stable
の部分は必要に応じてnightly
やtest
とします。) 必要としている Docker CE のバージョンに対応づいた.tgz
ファイルをダウンロードします。
tar
ユーティリティーを使ってアーカイブを展開します。 バイナリdocker
が抽出されます。
$ tar xzvf /path/to/<FILE>.tar.gz
任意の作業: 上のバイナリを実行パスの通ったディレクトリ、たとえば
/usr/local/bin/
などに移動させます。 この作業を行わない場合、docker
やdockerd
コマンドを起動する際には、常に実行ファイルへのパスも指定する必要があります。
$ sudo cp docker/docker /usr/local/bin/
Docker が正しくインストールされたことを確認するために
hello-world
イメージを実行します。<hostname>
にはホスト名かその IP アドレスを指定します。 このホストは Docker デーモンが起動しているマシンのことであり、クライアントからアクセス可能であるものです。
$ sudo docker -H <hostname> run hello-worldこのコマンドはテストイメージをダウンロードして、コンテナ内で実行します。 コンテナが起動すると、メッセージを表示して終了します。
Windows においてクライアントのバイナリをインストール¶
Docker のバイナリは Windows Server 2016 や Windows 10 にインストールします。
バイナリには dockerd.exe
と docker.exe
がともに含まれます。
以下のように 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
Docker が正しくインストールされたことを確認するために
hello-world
イメージを実行します。
PS C:\> docker run hello-world:nanoserverこのコマンドはテストイメージをダウンロードして、コンテナ内で実行します。 コンテナが起動すると、メッセージを表示して終了します。
スタティックバイナリのアップグレード¶
Docker CE を手動によりインストールしていて、これをアップデートする場合は、まずローカルで起動させている dockerd
あるいは dockerd.exe
のプロセスをすべて終了させます。
そして通常の手順により新しいバージョンをインストールします。