GAGA LIFE.

DBAブログ

Dockerインストール(CentOS)

概要

Dockerは、通常Linuxディストリビューション上で動作しますが、開発環境での利用目的として、クライアントPC向けツールが提供されています。

・Docker for Windows
・Docker for Mac
・Docker Toolbox

前提条件

前提条件については、以下に記載があります。
https://docs.docker.com/install/
今回は、VirtualBox上のCentOS 7にDocker CEをインストールします。

環境情報

ホストOS:Windows 10
VirtualBox:Ver 5.2.8
ゲストOS:CentOS 7 64bit

インストール手順

■Uninstall old versions

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 remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

 

読み込んだプラグイン:fastestmirror, langpacks
引数に一致しません: docker
引数に一致しません: docker-client
引数に一致しません: docker-client-latest
引数に一致しません: docker-common
引数に一致しません: docker-latest
引数に一致しません: docker-latest-logrotate
引数に一致しません: docker-logrotate
引数に一致しません: docker-selinux
引数に一致しません: docker-engine-selinux
引数に一致しません: docker-engine
削除対象とマークされたパッケージはありません。

■Install Docker CE

インストールの方法としては以下があります。
  1.Dockerリポジトリをセットアップする方法(推奨)
  2.RPMパッケージをダウンロードする方法
  3.自動スクリプトを使用する方法
今回は、推奨手順である 1の方法でインストールします。

Install using the repository

1.パッケージのインストール(yum-utils/device-mapper-persistent-data/lvm2)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
読み込んだプラグイン:fastestmirror, langpacks
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
パッケージ yum-utils-1.1.31-42.el7.noarch はインストール済みか最新バージョンです
パッケージ 7:lvm2-2.02.171-8.el7.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ device-mapper-persistent-data.x86_64 0:0.7.0-0.1.rc6.el7 を 更新
---> パッケージ device-mapper-persistent-data.x86_64 0:0.7.0-0.1.rc6.el7_4.1 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

 

==(略)==


更新 1 パッケージ

合計容量: 400 k
Downloading packages:
警告: /var/cache/yum/x86_64/7/updates/packages/device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
更新します : device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64 1/2
整理中 : device-mapper-persistent-data-0.7.0-0.1.rc6.el7.x86_64 2/2
検証中 : device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64 1/2
検証中 : device-mapper-persistent-data-0.7.0-0.1.rc6.el7.x86_64 2/2

更新:
device-mapper-persistent-data.x86_64 0:0.7.0-0.1.rc6.el7_4.1

完了しました!

2.Stableリポジトリのセットアップ
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
読み込んだプラグイン:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
Install Docker CE
1.yumのパッケージインデックス更新
sudo yum makecache fast
$ sudo yum makecache fast
読み込んだプラグイン:fastestmirror, langpacks
base | 3.6 kB 00:00:00
docker-ce-stable | 2.9 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
docker-ce-stable/x86_64/primary_db | 13 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
メタデータのキャッシュを作成しました
2.Docker CEインストール
sudo yum install docker-ce
$ sudo yum install docker-ce
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ docker-ce.x86_64 0:18.03.1.ce-1.el7.centos を インストール
--> 依存性の処理をしています: container-selinux >= 2.9 のパッケージ: docker-ce-18.03.1.ce-1.el7.centos.x86_64
--> 依存性の処理をしています: pigz のパッケージ: docker-ce-18.03.1.ce-1.el7.centos.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ container-selinux.noarch 2:2.42-1.gitad8f0f7.el7 を インストール
---> パッケージ pigz.x86_64 0:2.3.3-1.el7.centos を インストール
--> 依存性解決を終了しました。依存性を解決しました
==(略)==
インストール中:
docker-ce x86_64 18.03.1.ce-1.el7.centos docker-ce-stable 35 M
依存性関連でのインストールをします:
container-selinux noarch 2:2.42-1.gitad8f0f7.el7 extras 32 k
pigz x86_64 2.3.3-1.el7.centos extras 68 k
トランザクションの要約
==(略)==
インストール 1 パッケージ (+2 個の依存関係のパッケージ)
総ダウンロード容量: 35 M
インストール容量: 151 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): pigz-2.3.3-1.el7.centos.x86_64.rpm | 68 kB 00:00:00
(2/3): container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm | 32 kB 00:00:00
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY============ ] 4.8 MB/s | 32 MB 00:00:00 ETA
docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm の公開鍵がインストールされていません
(3/3): docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm | 35 MB 00:00:07
合計 4.9 MB/s | 35 MB 00:00:07
https://download.docker.com/linux/centos/gpg から鍵を取得中です。
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
From : https://download.docker.com/linux/centos/gpg
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : pigz-2.3.3-1.el7.centos.x86_64 1/3
インストール中 : 2:container-selinux-2.42-1.gitad8f0f7.el7.noarch 2/3
setsebool: SELinux is disabled.
インストール中 : docker-ce-18.03.1.ce-1.el7.centos.x86_64 3/3
検証中 : 2:container-selinux-2.42-1.gitad8f0f7.el7.noarch 1/3
検証中 : docker-ce-18.03.1.ce-1.el7.centos.x86_64 2/3
検証中 : pigz-2.3.3-1.el7.centos.x86_64 3/3
インストール:
docker-ce.x86_64 0:18.03.1.ce-1.el7.centos
依存性関連をインストールしました:
container-selinux.noarch 2:2.42-1.gitad8f0f7.el7 pigz.x86_64 0:2.3.3-1.el7.centos
完了しました!
2-1.特定バージョンをインストールする場合

利用可能なバージョンを確認

yum list docker-ce --showduplicates | sort -r

特定バージョンのインストール

sudo yum install docker-ce-<VERSION STRING>
3.Dockerスタート
sudo systemctl start docker
$ sudo systemctl start docker
4.インストール正常性検証
sudo docker run hello-world
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
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.
(amd64)
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 ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
5.Dockerサービス自動起動設定
sudo systemctl enable docker
[oracle@localhost ~]$ sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

参考資料

https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites