Debian に Docker インストール 2017-08-10 (編集中）

参照元
https://docs.docker.com/engine/installation/linux/docker-ce/debian/#install-docker-ce

#古いDockerがある場合は、その古いDockerを削除する
$ sudo apt remove docker lxc-docker docker-engine docker.io

Install Docker CE
Set up the repository

#1.Update the apt package index:
$ sudo apt update

#2.Install packages to allow apt to use a repository over HTTPS:
Jessie or Stretch:
$ sudo apt-get install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

#3.Add Docker’s official GPG key:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Verify that the key ID is 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.

$ sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

#4.リポジトリの設定
####amd64:一般的に使われているパソコンはこちら
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable"

####armhf:RaspberryPi や TinkerBoad などの ARM系CPU を使ったマイコンはこちら。
$ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list
安定リポジトリを設定するには、次のコマンドを使用します。 エッジやテストリポジトリからビルドをインストールする場合でも、常に安定したリポジトリが必要です。 エッジまたはテストリポジトリを追加するには、以下のコマンドで、安定した単語の後ろに単語edgeまたはtest（またはその両方）を追加します。

注意：以下のlsb_release -csサブコマンドは、Debianディストリビューションの名前（jessieなど）を返します。 $(lsb_release -cs) \

また、エッジリポジトリを追加するには、コマンドの最後の行で安定した後にエッジを追加します。



Soueces List 確認
$ cat /etc/apt/sources.list

deb http://ftp.jp.debian.org/debian/ jessie main
deb-src http://ftp.jp.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

# jessie-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ jessie-updates main
deb-src http://ftp.jp.debian.org/debian/ jessie-updates main

deb http://ftp.tsukuba.wide.ad.jp/debian/ jessie main
deb-src http://ftp.tsukuba.wide.ad.jp/debian/ jessie main

deb [arch=amd64] https://download.docker.com/linux/debian jessie stable
# deb-src [arch=amd64] https://download.docker.com/linux/debian jessie stable


Install Docker CE
1.Update the apt package index.
$ sudo apt update

2.Install the latest version of Docker CE, or go to the next step to install a specific version. Any existing installation of Docker is replaced.
最新バージョン
$ sudo apt install -y docker-ce

３．On production systems, you should install a specific version of Docker CE instead of always using the latest. This output is truncated. List the available versions:
インストール前にINSTALLするDOCKERのバージョンを確認
$ apt-cache madison docker-ce

指定したバージョンのインストール
$ sudo apt-get install docker-ce=<VERSION_STRING>

インストールしたDockerの確認
$ sudo docker -v
Docker version 17.06.0-ce, build 02c1d87

dockerサービスを有効にして立ち上がることを確認したら再起動。

$ sudo systemctl enable docker

$ sudo systemctl disable docker

$ sudo systemctl start docker

$ sudo systemctl status docker

$ sudo systemctl stop docker

$ sudo reboot

ちゃんと立ち上がっていれば、次からdockerにアクセスできます。

$ sudo docker ps


sudoなしでdockerコマンドを打てるようにする
dokcerグループを確認
$ cat /etc/group | grep docker
docker:x:999:

dockerグループがない場合にdockerグループを作る（rootにて実行）
 $ sudo -i
 # groupadd docker
 # exit
 $ sudo usermod -aG docker iot

公式ドキュメントには書いてないようですが、dockerグループにユーザを加えた後は一回dockerを再起動させたほうが良いかもしれません。

 $ cat /etc/group | grep docker
 docker:x:999:iot

補足・ハマりポイント
グループ情報を上書きしないように注意
気を付けて欲しいのがusermodの-aオプション。

これがないとグループの情報が上書きされてしまい、今まで加わっていたグループの情報が消えてしまいます。なので必ず-aオプションは忘れずに。

Compose のインストール
 $ sudo -i
 # curl -L https://github.com/docker/compose/releases/download/1.13.0-rc1/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
 # chmod +x /usr/local/bin/docker-compose
 # exit


$ docker-compose --version

docker-compose version 1.13.0-rc1, build 38af513