LoginSignup
1
0

Linux on Power での Docker Engine インストール

Posted at

Linux on Power でのコンテナ環境構築

IBM Power サーバー上での Linux(Linux on Power)環境でコンテナを稼働させたい場合、RHEL であれば Podman のパッケージが利用できますし、あるいは OpenShift によるコンテナ基盤の構築も進んでいます。

ただ、以前からの情報も多い docker での利用を試したいこともあるかと思いますので、2023/06 時点で Docker Engine のインストールを試した結果をまとめてみました。

Red Hat Enterprise Linux

RHEL でのインストールについては、docker docs(公式ドキュメント)サイトに記載された手順に従います。RHEL on Power への Docker Engine のインストールは CentOS向け の解説を利用します。

今回は RHEL8 環境にて、パッケージマネジャー(dnf/yum)を利用したインストールを実施します。

1. リポジトリのセットアップ

まず最初に、docker 用のリポジトリをセットアップする必要があります。これを実施しておくことで、このリポジトリから docker のインストールや更新が可能となります。

リポジトリの登録を実施するための yum-config-manager コマンドを含んでいる yum-utils パッケージがまだインストールされていない場合は、先にこれをインストールしておきます。

$ sudo dnf install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

セットアップ後にリポジトリ一覧を確認すると、docker-ce-stable というリポジトリが追加されていることが確認できます。

$ sudo dnf repolist
 
repo id                                                          repo の名前
codeready-builder-for-rhel-8-ppc64le-rpms                        Red Hat CodeReady Linux Builder for RHEL 8 Power, little endian (RPMs)
docker-ce-stable                                                 Docker CE Stable - ppc64le
epel                                                             Extra Packages for Enterprise Linux 8 - ppc64le
rhel-8-for-ppc64le-appstream-rpms                                Red Hat Enterprise Linux 8 for Power, little endian - AppStream (RPMs)
rhel-8-for-ppc64le-baseos-rpms                                   Red Hat Enterprise Linux 8 for Power, little endian - BaseOS (RPMs)

2. Docker Engine のインストール

docker 用のリポジトリをセットアップできたので、そのリポジトリからインストール可能な Docker Engine バージョンの確認もできます。下記がその例です。

sudo dnf list docker-ce --showduplicates | sort -r

docker-ce.ppc64le               3:24.0.2-1.el8                 docker-ce-stable
docker-ce.ppc64le               3:24.0.1-1.el8                 docker-ce-stable
docker-ce.ppc64le               3:24.0.0-1.el8                 docker-ce-stable
docker-ce.ppc64le               3:23.0.6-1.el8                 docker-ce-stable
:
docker-ce.ppc64le               3:20.10.10-3.el8               docker-ce-stable

利用したい特定のバージョンがあれば明示的に指定します。ここでは最新のパッケージをインストールする場合の例を記載します。

$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

インストール時に GPG キーのインポート確認を求められたら、フィンガープリントが 「060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35」と合致することを確認し、Is this ok [y/N]: に対して y をインプットしてインポートします。

インストールは完了しますが、Docker は自動的には起動していません。また、docker グループが作成されますが、デフォルトではそのグループにはまだどのユーザーも追加していません。次ステップで確認していきます。

3. 稼働確認

まず docker が systemd のサービスとして登録されていることを確認します。この段階ではまだスタートしていません。

$ sudo systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.docker.com

docker をスタートします。

$ sudo systemctl start docker
$ sudo systemctl status docker

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-06-27 01:58:39 EDT; 40s ago
     Docs: https://docs.docker.com
 Main PID: 37185 (dockerd)
 :

docker コマンドや、実際のコンテナ稼働を確認します。

$ sudo docker version

Client: Docker Engine - Community
 Version:           v24.0.2
 API version:       1.43
 Go version:        go1.20.4
 Git commit:        cb74dfc
 Built:             Fri Jun  9 07:56:59 2023
 OS/Arch:           linux/ppc64le
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          v24.0.2
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.4
  Git commit:       659604f
  Built:            Fri Jun  9 07:55:37 2023
  OS/Arch:          linux/ppc64le
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$ sudo docker ps

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

$ sudo docker images

REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f1af0faa586: Pull complete
Digest: sha256:a13ec89cdf897b3e551bd9f89d499db6ff3a7f44c5b9eb8bca40da20eb4ea1fa
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

$ sudo docker images

REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    5735de2b810b   7 weeks ago   66.4kB

ただしネットワーク環境によっては、上限の Pull 回数を超えている、として Docker Hub からのコンテナイメージの入手がエラーとなることがあります。その場合は、docker login コマンドにより利用可能な docker ユーザー ID でログインを実施しておくことで対応できます。

最後に、OS起動時に自動的にサービスがスタートするように設定しておきます。

$ sudo systemctl enable docker

以上で、docker のインストールと基本セットアップが完了しました。IBM Power 用の特別な設定や手順などは必要ありませんでした。あとは運用体制に合わせて、docker グループへのユーザーの登録などのカストマイズを実施してください。

1
0
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
1
0