RHEL9ではじめてのDocker
チュートリアルどおり実施したのみだが、覚書き。
前置き
翻訳はすべてDeepL翻訳を使っている。
環境
VPS: Vultr
OS: RHEL9
ローカルサーバ:Nginx
Dockerをインストール
Docker公式のRHEL向け解説を参考に進め……たいところだが、
We currently only provide packages for RHEL on s390x (IBM Z). Other architectures are not yet supported for RHEL, but you may be able to install the CentOS packages on RHEL. Refer to the Install Docker Engine on CentOS page for details.
現在、s390x (IBM Z) 上の RHEL 用のパッケージのみを提供しています。その他のアーキテクチャのRHELにはまだ対応していませんが、CentOSのパッケージをRHELにインストールできる可能性があります。詳しくは「CentOSにDocker Engineをインストールする」のページを参照してください。
どうも一般的なパッケージではないようだ。
ということで、CentOS向け解説を読んで進めることにする。ほぼほぼ同じなので大丈夫だろう。
Dockerリポジトリをインストール
まずはDockerが提供するリポジトリをインストールする。
しかし公式にyumの例しかない。私はdnf派だ。こまった。
検索すると、Fedora向けの解説にdnfの例があったので、使ってみた。
$ # sudo dnf -y install dnf-plugins-core # 公式だとdnfプラグイン追加しているけど、無くても大丈夫でした
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
リポジトリ一覧を確認する。
$ sudo dnf repolist
Updating Subscription Management repositories.
repo id repo name
docker-ce-stable Docker CE Stable - x86_64
rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
一番上、docker-ce-stableがDockerリポジトリだ。
Dockerエンジンをインストール
いよいよ本体をインストールする。
下記コマンドで最新版のDockerエンジン、Dockerコマンドライン、Docker-compose(組み込みプラグイン)をインストールする。
$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
~中略~
Complete!
色々聞かれるがy連打。
Complete! でインストール完了。
Docker起動
$ sudo systemctl start docker
Dockerが提供するテスト用のイメージhello-worldを起動し、正常にインストールされたか試してみる。
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Hello from Docker!
このメッセージは、インストールが正常に動作しているように見えることを示しています。このメッセージを生成するために、Dockerは次のステップを踏みました。
- DockerクライアントがDockerデーモンにコンタクトした。
- Docker デーモンが Docker Hub から "hello-world" イメージを取り出した。
(amd64)- Dockerデーモンはそのイメージから新しいコンテナを作成し、現在読んでいる出力を生成する実行ファイルを実行します。
- Dockerデーモンはその出力をDockerクライアントにストリーミングし、クライアントはそれをあなたの端末に送信します。
もっと野心的なことを試すには、Ubuntuのコンテナを次のように実行します。
docker run -it ubuntu bash で実行できます。無料のDocker IDでイメージの共有、ワークフローの自動化など。
https://hub.docker.com/より多くの例とアイデアについては、以下をご覧ください。
https://docs.docker.com/get-started/
無事にhello-worldイメージを起動できたようだ。
Discussion