CentOS 7へのDockerのインストール

前提条件

  • CentOS 7以上
  • centos-extrasレポジトリが有効であること
    ※通常デフォルトで有効になっています。

インストール方法

Dockerをインストールする方法には下記の方法がありますが、Dockerレポジトリを使用してインストールする方法が推奨となります。

  • Dockerレポジトリからインストールする方法
    • インストールやバージョンアップの作業が簡単
  • rpmをダウンロードしてインストールする方法
    • バージョンアップ作業が完全に手動での管理になる
    • インターネットから隔離された環境ではこの方法になる
  • インストールスクリプトを使用してインストールする方法
    • 最新バージョンのDockerを使用したい場合にはこの方法を使用
    • 開発やテスト環境で使用

インストール

事前準備

古いバージョンのDockerがインストールされている場合には削除します。

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

前提のパッケージをインストールします。

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

Dockerリポジトリの追加

Dockerリポジトリを追加します。

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

yumのインデックスを更新します。

$ sudo yum makecache fast

Dockerリポジトリが追加され、有効化されていることを確認します。

$ yum repolist all | grep -i docker
…
docker-ce-stable/x86_64            Docker CE Stable - x86_64        有効:     25
…

新機能や最新のバグフィクスが含まれるedgeや一般公開前のテストバージョンを使用する場合には、↓を実行してリポジトリを有効化します。

$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

※ 無効化する場合には–enableを–disableに変更して実行

Dockerのインストール

インストールされるDockerのバージョンおよびレポジトリを確認します。

$ yum list docker-ce
…
利用可能なパッケージ
docker-ce.x86_64                                   3:18.09.0-3.el7                                    docker-ce-stable

最新版のDockerがインストールされるので、edgeやtestレポジトリが有効になっている場合には、それらのDockerがインストールされます。

yumでDockerのインストールします。

$ sudo yum -y install docker-ce

特定バージョンを指定してのDockerのインストール

インストール可能なDockerのバージョンを確認します。

$ yum list docker-ce.x86_64 --showduplicates
…
利用可能なパッケージ
…
docker-ce.x86_64                    18.03.0.ce-1.el7.centos                    docker-ce-stable
docker-ce.x86_64                    18.03.1.ce-1.el7.centos                    docker-ce-stable
docker-ce.x86_64                    18.06.0.ce-3.el7                           docker-ce-stable
docker-ce.x86_64                    18.06.1.ce-3.el7                           docker-ce-stable
docker-ce.x86_64                    3:18.09.0-3.el7                            docker-ce-stable

特定のバージョンのDockerをインストールする場合にはバージョンを指定して実行します。

$ sudo yum -y install docker-ce-18.06.0.ce-3.el7 

稼働確認

Dockerを起動します。

$ sudo systemctl start docker; systemctl status docker

Activeが「active (running)」となっていることを確認します。

hello world コンテナで稼働確認を行います。

$ sudo docker run hello-world
…
Hello from Docker!
This message shows that your installation appears to be working correctly.
…

事後作業

自動起動の設定

$ sudo systemctl enable docker; sudo systemctl status docker

Loadedが「loaded (/usr/lib/systemd/system/docker.service; enabled」となっていることを確認します。

sudoなしでのdockerコマンドの実行

ユーザ(centos)をdockerグループに追加する

$ sudo gpasswd -a $USER docker
$ id $USER
uid=1000(centos) gid=1000(centos) groups=1000(centos),4(adm),10(wheel),190(systemd-journal),1001(docker)

設定を反映するためにログインし直します。

sudoなしでDockerコマンドが使用できることを確認します。

$ docker run hello-world
…
Hello from Docker!
This message shows that your installation appears to be working correctly.
…

参考サイト

Get Docker CE for CentOS | Docker Documentation
Post-installation steps for Linux | Docker Documentation

コメント