LoginSignup
2
2

More than 3 years have passed since last update.

Docker CE(無償版 Community Edition)を構築しよう(CentOS8)

Last updated at Posted at 2020-05-02

構築環境

$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

インストール

公式手順:https://docs.docker.com/engine/install/centos/
非公式翻訳手順:http://docs.docker.jp/engine/installation/linux/docker-ce/centos.html

OSを最新状態にする

$ yum update
$ yum upgrade

旧バージョンのDockerをアンインストールする

$ yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

安定したYumリポジトリのセットアップ

$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Dockerのインストール

$ yum install docker-ce docker-ce-cli containerd.io

上記コマンドでは、パッケージの依存関係でdocker-ceがインストールエラーとなる。
※ 2020/4/29時点

そこで、「--nobest」オプションを指定して実行することで、最新版ではないがインストールに成功した。

$ yum install --nobest docker-ce
Last metadata expiration check: 0:09:23 ago on Wed 29 Apr 2020 01:16:58 AM JST.
Dependencies resolved.

 Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  - package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
================================================================================================================================================================
 Package                                     Architecture          Version                                                Repository                       Size
================================================================================================================================================================
Installing:
 docker-ce                                   x86_64                3:18.09.1-3.el7                                        docker-ce-stable                 19 M
Installing dependencies:
 container-selinux                           noarch                2:2.124.0-1.module_el8.1.0+298+41f9343a                AppStream                        47 k
 libcgroup                                   x86_64                0.41-19.el8                                            BaseOS                           70 k
 policycoreutils-python-utils                noarch                2.9-3.el8_1.1                                          BaseOS                          250 k
 containerd.io                               x86_64                1.2.0-3.el7                                            docker-ce-stable                 22 M
 docker-ce-cli                               x86_64                1:19.03.8-3.el7                                        docker-ce-stable                 40 M
Enabling module streams:
 container-tools                                                   rhel8
Skipping packages with broken dependencies:
 docker-ce                                   x86_64                3:19.03.8-3.el7                                        docker-ce-stable                 25 M

Transaction Summary
================================================================================================================================================================
Install  6 Packages
Skip     1 Package

Total download size: 81 M
Installed size: 339 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): libcgroup-0.41-19.el8.x86_64.rpm                                                                                         3.2 MB/s |  70 kB     00:00
(2/6): policycoreutils-python-utils-2.9-3.el8_1.1.noarch.rpm                                                                    6.5 MB/s | 250 kB     00:00
(3/6): container-selinux-2.124.0-1.module_el8.1.0+298+41f9343a.noarch.rpm                                                       932 kB/s |  47 kB     00:00
(4/6): docker-ce-18.09.1-3.el7.x86_64.rpm                                                                                       6.6 MB/s |  19 MB     00:02
(5/6): docker-ce-cli-19.03.8-3.el7.x86_64.rpm                                                                                    10 MB/s |  40 MB     00:03
(6/6): containerd.io-1.2.0-3.el7.x86_64.rpm                                                                                     5.0 MB/s |  22 MB     00:04
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                            16 MB/s |  81 MB     00:05
warning: /var/cache/dnf/docker-ce-stable-091d8a9c23201250/packages/containerd.io-1.2.0-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Docker CE Stable - x86_64                                                                                                       4.4 kB/s | 1.6 kB     00:00
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
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                        1/1
  Installing       : docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                                   1/6
  Running scriptlet: docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                                   1/6
  Installing       : containerd.io-1.2.0-3.el7.x86_64                                                                                                       2/6
  Running scriptlet: containerd.io-1.2.0-3.el7.x86_64                                                                                                       2/6
  Installing       : policycoreutils-python-utils-2.9-3.el8_1.1.noarch                                                                                      3/6
  Running scriptlet: container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch                                                                       4/6
  Installing       : container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch                                                                       4/6
  Running scriptlet: container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch                                                                       4/6
  Running scriptlet: libcgroup-0.41-19.el8.x86_64                                                                                                           5/6
  Installing       : libcgroup-0.41-19.el8.x86_64                                                                                                           5/6
  Running scriptlet: libcgroup-0.41-19.el8.x86_64                                                                                                           5/6
  Running scriptlet: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                       6/6
  Installing       : docker-ce-3:18.09.1-3.el7.x86_64                                                                                                       6/6
  Running scriptlet: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                       6/6
  Running scriptlet: container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch                                                                       6/6
  Running scriptlet: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                       6/6
  Verifying        : container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch                                                                       1/6
  Verifying        : libcgroup-0.41-19.el8.x86_64                                                                                                           2/6
  Verifying        : policycoreutils-python-utils-2.9-3.el8_1.1.noarch                                                                                      3/6
  Verifying        : containerd.io-1.2.0-3.el7.x86_64                                                                                                       4/6
  Verifying        : docker-ce-3:18.09.1-3.el7.x86_64                                                                                                       5/6
  Verifying        : docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                                   6/6

Installed:
  docker-ce-3:18.09.1-3.el7.x86_64                    container-selinux-2:2.124.0-1.module_el8.1.0+298+41f9343a.noarch   libcgroup-0.41-19.el8.x86_64
  policycoreutils-python-utils-2.9-3.el8_1.1.noarch   containerd.io-1.2.0-3.el7.x86_64                                   docker-ce-cli-1:19.03.8-3.el7.x86_64

Skipped:
  docker-ce-3:19.03.8-3.el7.x86_64

Complete!

2020/4/29時点では、以下のバージョンがインストールされた。

$ docker -v
Docker version 19.03.8, build afacb8b

Dockerの起動

$ systemctl start docker

Dockerが正しくインストールされていることを確認するため、hello-worldイメージを実行する。

$ docker run hello-world

「Hello from Docker!」の文字列が表示されれば、正しくインストールされている。

OS起動時にDockerが自動起動するように設定する。

$ systemctl enable docker

【番外編】プロキシ環境下の設定

プロキシに関する設定を追加する。プロキシサーバを経由しないホストやドメインをNO_PROXYに設定する。以下の例では、ローカルホストとexample.domain.comドメインをNO_PROXYに設定した。

$ mkdir -p /etc/systemd/system/docker.service.d
$ vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://example.proxy.com:8080"
Environment="HTTPS_PROXY=http://example.proxy.com:8080"
Environment="NO_PROXY=127.0.0.1,localhost,.example.domain.com"

以下のコマンドで、プロキシの設定反映する。

$ systemctl daemon-reload
$ systemctl restart docker

アンインストール

Docker Engine、CLI、およびContainerdパッケージをアンインストールする。

$ yum remove docker-ce docker-ce-cli containerd.io

ホスト上のイメージ、コンテナー、ボリューム、またはカスタマイズされた構成ファイルは、自動的に削除されない。すべてのイメージ、コンテナー、ボリュームを削除するために、以下を実行する。

$ rm -rf /var/lib/docker
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2