my opinion is my own

OCI上のOracle Linux8にDockerをインストールする

Docker

Docker20.10くらいからRHEL8系でもDockerが使えるようになったが、デフォのリポジトリ設定だとRedhatのpodman-dockerをインストールしようとしてくるのでどうにかDockerをメモ。

環境設定

[opc@oci-arm ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.6 (Ootpa)
[opc@oci-arm ~]$ cat /etc/oracle-release
Oracle Linux Server release 8.6
[opc@oci-arm ~]$ cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="8.6"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.6"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.6"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:6:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.6
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.6

レポジトリ設定

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[opc@oci-arm ~]$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

インストール

sudo dnf install -y docker-ce docker-ce-cli containerd.io
[opc@oci-arm ~]$ sudo dnf install -y docker-ce docker-ce-cli containerd.io
Docker CE Stable - aarch64                                                                                                     431 kB/s |  26 kB     00:00
Dependencies resolved.

〜省略〜

Installed:
  container-selinux-2:2.188.0-1.module+el8.6.0+20721+d8d917a9.noarch                 containerd.io-1.6.8-3.1.el8.aarch64
  docker-ce-3:20.10.18-3.el8.aarch64                                                 docker-ce-cli-1:20.10.18-3.el8.aarch64
  docker-ce-rootless-extras-20.10.18-3.el8.aarch64                                   fuse-common-3.3.0-15.0.2.el8.aarch64
  fuse-overlayfs-1.9-1.module+el8.6.0+20721+d8d917a9.aarch64                         fuse3-3.3.0-15.0.2.el8.aarch64
  fuse3-libs-3.3.0-15.0.2.el8.aarch64                                                libcgroup-0.41-19.el8.aarch64
  libslirp-4.4.0-1.module+el8.6.0+20721+d8d917a9.aarch64                             slirp4netns-1.2.0-2.module+el8.6.0+20721+d8d917a9.aarch64

Complete

インストール後作業

sudo gpasswd -a $(whoami) docker
sudo chgrp docker /var/run/docker.sock

これを実施しないと権限エラーとなる。

[opc@oci-arm cli-plugins]$ docker ps Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

バージョン確認

[opc@oci-arm ~]$ docker -v
Docker version 20.10.18, build b40c2f6
[opc@oci-arm ~]$ docker version
Client: Docker Engine - Community
 Version:           20.10.18
 API version:       1.41
 Go version:        go1.18.6
 Git commit:        b40c2f6
 Built:             Thu Sep  8 23:10:56 2022
 OS/Arch:           linux/arm64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.18
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.6
  Git commit:       e42327a
  Built:            Thu Sep  8 23:09:25 2022
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Dockerの起動

sudo systemctl start docker

Dockerの自動起動設定

sudo systemctl enable docker

docker-compose

この環境はarmなのでaarch64のバイナリを取得しているが、intel系の場合はここを別に変える必要あり。

curl -SL https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-aarch64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
pc@oci-arm cli-plugins]$ docker-compose -v
Docker Compose version v2.11.2
---

関連しているかもしれない記事


#OCI