「コンテナ」のソフトウェアとして知られるDockerの概要をまとめました。
※なお、Red Hat Enterprise Linux 9 ではデフォルトでDockerが削除され、Podmanへ移行しています。Podmanの詳細は以下の記事でまとめています。
Dockerとは
Dockerはコンテナ型の仮想環境を提供するソフトウェア(プラットフォーム)です。Dockerの公式ドキュメントでは以下のように説明されています。
Docker はアプリケーションを開発(developing)、移動(shipping)、実行(running)するためのオープンなプラットフォームです。Docker はインフラストラクチャ 1 とアプリケーションを切り離すため、ソフトウェアを短時間で提供できます。Docker があれば、アプリケーションを管理するのと同じ方法で、あなたのインフラも管理できます。Docker 的な手法を最大限活用しますと、テストやコードのデプロイを素早くできますので、コードを書いてから、プロダクション(実行環境)で動かすまでにかかる時間を著しく軽減できます。
コンテナとは
コンテナは、複数のアプリケーションを実行できる環境のことを指します。Dockerの公式ドキュメントでは以下のように説明されています。
コンテナとは、イメージが実行状態となったインスタンスのことです。コンテナに対する生成、開始、停止、移動、削除は Docker API や CLI を使って行われます。コンテナは、複数のネットワークへの接続、ストレージの追加を行うことができ、さらには現時点の状態にもとづいた新たなイメージを生成することもできます。
言葉だとわかりにくいので、図で示すと以下のようなイメージになります。Dockerはコンテナに該当します。

Dockerの公式ドキュメントでは以下のような図で説明されています。


Docker上のアプリの使い方
Docker上でアプリを使用するには、以下の手順が必要です。
- DockerをLinuxなどのOSにインストールする
- Dockerfileを作成する
- DockerfileをビルドしてDockerイメージを作成する
- Dockerイメージを実行してDockerコンテナを使用可能な状態にする
- Dockerコンテナ上でアプリを管理する
Dockerをインストールする
まずは以下のDocker公式ページにアクセスしてインストールしたいOSのDockerインストールファイルを入手する、もしくはDockerインストールイメージ保存先のURLを確認します。
Red Hat Enterprise Linuxではyumコマンドもしくはdnfコマンドでインストールができます。
yum install docker
dnf install docker
以下の記事でRHEL9.6に実際にDockerをインストールした作業証跡をまとめています。
なお、Red Hat Enterprise Linux 9.6ではDockerが削除されています。dockerコマンドを実行するとpodmanコマンドが実行されます。
Red Hat では、RHEL 9 から Docker コンテナーエンジンと、docker コマンドが削除されました。
RHEL で Docker を使用する場合は、異なるアップストリームプロジェクトから Docker を取得できますが、RHEL 9 では対応していません。
podman-dockerパッケージをインストールできます。dockerコマンドを実行するたびに、実際にはpodmanコマンドが実行されます。
Red Hat Enterprise LinuxでのDockerからPodmanへの移行に関する詳細は以下のRed Hat公式記事が参考になります。なお、PodmanコマンドとDockerコマンドは使い方に変更は特にありません。
- Dockerの代わりにPodmanをインストールします。Dockerデーモンのようなデーモンプロセスを起動したり管理したりする必要はありません。
- Docker で使い慣れているコマンドは Podman でも同じように機能します。
- Podman はコンテナとイメージを Docker とは異なる場所に保存します。
- Podman と Docker イメージは互換性があります。
- Podman は、 Kubernetes環境向けの Docker 以上の機能を提供します。
Podmanの詳細は以下の記事でまとめています。
Dockerfileの作成
DockerfileはDockerImageの設計図のようなものです。
Dockerfileを作成することでDockerfileをビルドしてDockerイメージを作成します。

Dockerfileのビルド
作成したDockerfileをDockerコマンドを使用してビルドします。ビルドが完了するとDockerイメージが作成されます。
Dockerイメージを実行する
ビルドして作成したDockerイメージを実行します。



