前提
環境等
- コピペで動くようにコマンドはそのまま貼りつけています。
- Linux初心者向けに書いているつもり。
- 環境は下表の通り。
Name | Version | |
---|---|---|
OS | Ubuntu | 16.04(64bit) |
CPU | Intel® Core™ | i5-5200U |
kernel | Linux | 4.10.0-35-generic |
GPU | Intel® HD Graphics | 5500U |
install_pkg | Docker | 17.09.0 |
Ubuntuの名前
- Ubuntuのバージョン毎の名前は下表の通り。
- LTSは長期サポート(Long Term Support)のこと。
- 詳細はUbuntuとは | Ubuntu Japanese Teamを参照。
Version | Name |
---|---|
17.04 | Zesty |
16.04(LTS) | Xenial |
14.04(LTS) | Trusty |
Dockerのインストール
- Get Docker CE for Ubuntu | Docker Documentationを参考に、Dockerをインストールします。
packageのダウンロード
- Ubuntu 16.04(64bit)用のDocker最新版を以下のURLで確認
- 2017/10/15時点では17.09.0が最新版だったので該当ファイルをダウンロード
- .debファイルはUbuntuへインストールできるパッケージ
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb
packageのインストール
- ダウンロードしたパッケージを以下のコマンドでインストール
sudo dpkg -i docker-ce_17.09.0~ce-0~ubuntu_amd64.deb
確認
sudo docker --version
- 以下のようにダウンロードしたバージョンが表示されればインストール完了
出力
Docker version 17.09.0-ce, build afdb6d4
インストール後の設定
-
Post-installation steps for Linux | Docker Documentationを参考に、
sudo
無しで使えるようにする。
docker
グループの作成
sudo groupadd docker
ユーザーをdocker
グループへ追加
sudo usermod -aG docker $USER
一度ログアウトする
gnome-session-quit --logout --no-prompt
確認
- ログイン後、
sudo
無しでdockerを利用できるか確認する。docker --version
proxyの設定
- systemd と Docker の管理・設定 — Docker-docs-ja 1.9.0b ドキュメントを参考に、proxyの設定を行う。
docker.serviceの確認
sudo systemctl status docker | grep Loaded
- 以下のように出力されるはず
出力
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
- しかし、serviceファイルに直接proxy設定を書くのは良くないらしいので、設定ファイルを適切な位置に作成する。
設定ファイルの作成
- docker サービス向けの systemd ドロップイン・ディレクトリを作成し、設定ファイルを作成。
sudo mkdir /etc/systemd/system/docker.service.d
sudo gedit /etc/systemd/system/docker.service.d/http-proxy.conf
http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
設定ファイルの読み込み
sudo systemctl daemon-reload
読み込み確認
sudo systemctl show docker --property Environment
- 以下のように出力されればよい
出力
Environment=HTTP_PROXY=http://proxy.example.com:80/
反映
sudo systemctl restart docker