🐳

Red Hat Enterprise Linux 8 で Docker を使う

2023/04/11に公開

Red Hat Enterprise Linux 8 (RHEL8) は Docker 非対応ですが、どうしても Docker でアプリケーションを起動したい場合は、互換ツールである Podman を利用する方法があります。Red Hat の公式ドキュメントに説明はありますが、長いので、結局何をすればいいの?と迷うかと思います。そのため、RHEL8 で Dockerコマンド と docker-compose を使えるようにするまでの手順を、短くシンプルにまとめました。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html-single/building_running_and_managing_containers/index

Podman をインストールする

Podman をインストールし、podman-docker パッケージをインストールすることで、Docker コマンドが使えるようになります。このとき、実際には Podman コマンドが実行されています。

# Podmanのインストール
sudo yum module install -y container-tools

# インストールできたかを確認する
podman --version

# podman-dockerパッケージのインストール
sudo yum install -y podman-docker

# Dockerのバージョンを確認する
docker --version
# >Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
# >podman version x.x.x

# Docker動作確認(任意)
docker run --rm hello-world

docker-compose をインストールする

docker-compose は Podman 3.0 からサポートされるようになりましたが、利用する場合は、別途インストールする必要があります。

# docker-composeのインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# バージョンを確認する
docker-compose version

Podman は、デフォルトではコンテナ名でコンテナ間通信ができません。podman-plugins パッケージの dnsname プラグインをインストールすることで、コンテナ名で通信できるようになります。

# podman-pluginsパッケージのインストール
sudo yum install podman-plugins

Podman API ソケットを起動する

Podman が常時起動するように設定しておきます。

sudo su -

# podman.socketの自動起動設定
systemctl enable podman.socket

# podman.socketの起動
systemctl start podman.socket

おわりに

以上の方法で、RHEL8 で Docker を利用できるようになります。ご参考になればうれしいです。

レスキューナウテックブログ

Discussion