コマンド一発で最新のDockerをインストールする方法

Dockerを使ったシステム構築事例、増えていますね。Dockerを使えば簡単にWebアプリなどを試したりできるので、個人で使っているという方も多いでしょう。Linuxに手動でさまざまなパッケージをセットアップするより、ずっと手軽に動かすことができて便利ですよね。また、不要になればコマンド一つで削除できるのも嬉しい点です。

でも、Dockerのインストール方法って、いろんな所にいろんな方法が書いてあって迷う人が多いですよね。今年(2017年)3月にはDockerの商用版「Docker EE」が出て、無料のコミュニティ版は「Docker CE」となり、さらにややこしくなりました。でも、最近は「Docker CE」を超カンタンにインストールする方法も提供されています。以下にまとめたので参考にしてください。

Dockerをどこからダウンロードする?

Linuxへのソフトのインストールって、ディストリビューションの配布元からパッケージをダウンロードするのが一般的ですよね。aptやyumといったコマンドを使って、UbuntuならUbuntu、CentOSならCentOSの公式レポジトリからダウンロードとインストールを一度に実行できます。Dockerもディストリビューション提供のパッケージを用いることはできるのですが…バージョンが古いことが多いので、あまりオススメできません。Dockerは活発に開発されており、どんどん機能も追加されているので、古いパッケージだとWebや雑誌の記事どおりに動かないこともあるんですよね。なので、次に紹介する方法でDockerの開発元から新しいバージョンをインストールすることをオススメします。

Docker CE一発インストールスクリプトで最新安定版を導入する

Docker CEはコマンド一発で全自動インストールできます。以下の通り実行すると、最新の安定版(3ヶ月ごとにリリース)がインストールされます。サポートされているディストリビューションは、Ubuntu、Debian、CentOS、Fedoraです。これらの派生ディストリビューションでも動くかもしれません。

curl -sSL https://get.docker.com/ | CHANNEL=stable sh

これで、get.docker.comからインストール用シェルスクリプトがダウンロードされ、そのまま実行されます。root権限を用いるためにパスワードが要求され、入力すると処理が行われます。「シェルスクリプトの内容を確認せずに実行するなんてとんでもない!」という人は、以下のように一度ファイルに保存して、中身を確認してから実行してください。

curl -fsSL get.docker.com -o get-docker.sh
less get-docker.sh  # 内容を確認
CHANNEL=stable sh get-docker.sh

「CHANNEL=stable」を指定しないと、新機能がいち早く搭載されるEdge版(毎月リリース)がインストールされます。通常は安定版を用いたほうがいいでしょう。
このインストールコマンドを実行すると、ディストリビューションを判別してDockerのリポジトリが追加され、そのリポジトリからDocker CEに必要なパッケージがインストールされます。なお、すでにDockerがインストールされている環境のことは考えられていませんので、事前に削除してから実行してください。
インストール後、dockerをsudoなしで実行したいならばユーザーをグループdockerに追加してください。スクリプトの最後に出るusermodコマンドを用いてもいいですし、gpasswdコマンドを用いてもいいでしょう。以下はユーザーlintaroのサブグループにdockerを設定する例です。

sudo gpasswd -a lintaro docker

ユーザーのサブグループ追加については、以下の記事も参考にしてください。

まとめ

この自動インストールスクリプト、個人のLinuxでDockerを試してみたいという時に非常に便利です。外部に公開する本格的なサーバーに使うこともできますが、リポジトリの追加やパッケージのインストールを確認なしに実行してしまうので、事前にスクリプトを読んで何をしているかを理解してから実行したほうがいいでしょう。以下の参考リンクページを参照すると、より分かりやすいと思います。

参考リンク

Get Docker CE for Ubuntu
Get Docker CE for Debian
Get Docker CE for CentOS
Get Docker CE for Fedora