2016/02/22 11:41:42

DockerEngineをインストールする


Warning: Attempt to read property "post_excerpt" on null in /home/kpkyvkzp/public_html/unskilled.site/wp-content/themes/unskilled2/content-header-eyecatch.php on line 5
目次(クリックするとジャンプします)
  • 1:Docker使おう
  • 2:公式の情報など
  • 3:事前準備
  • 3.1:Linuxのカーネルバージョンの確認
  • 3.2:古いリポジトリのpurge
  • 3.3:リポジトリのアップデートと認証ツールのインストール
  • 3.4:GPGキーを更新
  • 3.5:リポジトリの追加
  • 3.6:インストールと起動
  • 3.6.1:パッケージ導入
  • 3.6.2:起動テスト
  • 3.6.3:自動起動設定
  • 4:後記

Docker使おう

巷で話題のDocker。コンテナ型仮想技術として人気を博しています。開発環境としても、実行環境としてもいろいろ使える便利なクジラだそうで、使ってみたいですね。

Dockerを使うにはともあれ本体であるDockerEngineをインストールするところから始めます。今回の記事はDockerEngineインストールです。

公式の情報など

今回の記事では

  • Debian8 jessie

でインストール行っていますが、他の環境でもそう違いはありません。(Dockerの機能はLinuxカーネルに依存しているためMac、WindowsはLinuxを起動できる仮想マシンの導入から行う必要があります。)

他のOSでは以下の記事を参照してください。

docker公式のインストールガイド(英語)
左側のメニュー→Docker Engine →install→各OSの説明 Mac、WindowはもちろんLinuxは主要ディストリビューションのほとんどのインストール方法解説を網羅しています。

docker日本語マニュアルプロジェクト
左側のメニュー→Docker Engine →インストールこちらは有志の方が英語ドキュメントを日本語訳してくれているプロジェクトです。こちらもMac、Window、Linuxの主要ディストリビューションのインストール方法解説があります。

事前準備

Linuxのカーネルバージョンの確認

Docker Engineをインストールする要件として、OSは64bitでカーネルは3.10以上である必要があります。

以下のコマンドでカーネルのバージョンを調べることができます。

$ uname -r

ちなみに@MINOのDebian8 jessieでは以下のように表示されました。

3.16.0-4-amd64

Macやwindowsでは仮想マシンを介してDockerを使うことになると思いますが、古いバージョンのディストリビューションじゃなければ大丈夫だと思います。

古いリポジトリのpurge

念の為古いリポジトリをパージします。

$ sudo apt-get purge lxc-docker*
$ sudo apt-get purge docker.io*

リポジトリのアップデートと認証ツールのインストール

リポジトリをアップデートして、aptで必要になるhttpsとSSLに関わるツールをインストールします。

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates

GPGキーを更新

GPGキーを更新します。

$ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

リポジトリの追加

DockerEngineが入っているリポジトリを追加するため、リポジトリの追加を行います。

/etc/apt/sources.list.d/docker.list

をエディタで開きます。

もしこのファイルが無かったら作ってください。

(ファイルが存在するなら)一旦ファイルの内容を全部消して、以下の一行を新たに加えてください。(バージョンによって異なります)

Wheezy 7

deb http://apt.dockerproject.org/repo debian-jessie main

Jessie 8

deb http://apt.dockerproject.org/repo debian-jessie main

Stretch/Sid 9

deb https://apt.dockerproject.org/repo debian-stretch main

保存してエディタを終了します。

パッケージインデックスを有効にするため以下のコマンドを実行します。

$ apt-get update

リポジトリが有効になっているか確認します。

$ apt-cache policy docker-engine

インストールと起動

パッケージ導入

パッケージインデックスを有効にします。

$ sudo apt-get update

DockerEngine本体をインストールします。

$ sudo apt-get install docker-engine

Dockerデーモンを起動します。

$ sudo service docker start

起動テスト

最後にDockerEngineの動作確認のため、テストコンテナを起動してみます。

$ sudo docker run hello-world

起動に成功すると以下のようなテストコンテナが起動し、メッセージが表示されコンテナが終了します。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

b901d36b6f2f: Pull complete 
0a6ba66e537a: Pull complete 
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

自動起動設定

自動起動の設定もしておきます。(例はsystemdの場合です)

$ sudo systemctl enable docker.service

これでインストールは完了です。

後記

環境がLinuxなら導入は簡単です。windowsやMacでは仮想マシンを介する必要がありますが、其のへんの手間をなくす便利なツールもありますので、それほど苦労しないと思います。

ただDockerを触っていくにあたってLinuxの仕組みに関して少なからず知識が必要になってきますので、できればLinuxを直に触ることをおすすめします。