🐳
Red Hat Enterprise Linux 8 で Docker を使う
Red Hat Enterprise Linux 8 (RHEL8) は Docker 非対応ですが、どうしても Docker でアプリケーションを起動したい場合は、互換ツールである Podman を利用する方法があります。Red Hat の公式ドキュメントに説明はありますが、長いので、結局何をすればいいの?と迷うかと思います。そのため、RHEL8 で Dockerコマンド と docker-compose を使えるようにするまでの手順を、短くシンプルにまとめました。
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