Docker Community Editionのインストール

下記リンクの公式手順に沿って、各標準リポジトリのdockerパッケージは古いDockerだから削除し、パッケージマネージャにDockerリポジトリを追加し、新しいdocker-ceパッケージをインストールする。

ホストがCentOS

ホストがUbuntu


CentOS7にdocker-ceインストール

古いパッケージあればアンインストール

# 標準リポジトリにあるのは古いDocker
yum remove docker docker-client docker-client-latest docker-common docker-latest \
  docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

Dockerリポジトリの追加

# 必要なパッケージインストール
yum install yum-utils device-mapper-persistent-data lvm2

# Dockerリポジトリ追加(ここにdocker-ceがある)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

docker-ceインストール

# docker-ceインストール
yum install docker-ce

Ubuntuにdocker-ceインストール

古いパッケージあればアンインストール

# 標準リポジトリにあるのは古いDocker
sudo apt remove docker docker-engine docker.io

Dockerリポジトリの追加

# パッケージ情報更新
sudo apt update

# 必要なパッケージインストール
sudo apt install \
  apt-transport-https ca-certificates curl software-properties-common

# Dockerの公開鍵登録
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# Dockerリポジトリ追加(ここにdocker-ceがある)
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# (Ubuntu18.04はまだstableではなくedgeリポジトリにある模様)
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) edge"

docker-ceインストール

# パッケージ情報更新(再度)
sudo apt update

# docker-ceインストール
sudo apt install docker-ce

Dockerサーバを自動起動にする

クライアント・サーバ型ソフトなので、dockerサーバを起動しておく。

# 起動
systemctl start docker
# 自動起動
systemctl enable docker

# バージョン確認
docker version

BIOS|UEFIで仮想化を有効に

BIOSやUEFIで仮想化が無効になっていると、コンテナ起動でエラー。

journalctl -k
Failed to start Commit a transient machine-id on disk.
systemd-machine-id-commit.service failed.
kvm: disabled by bios