コンテナアプリ、Dockerの概要まとめ

アプリケーション

「コンテナ」のソフトウェアとして知られるDockerの概要をまとめました。

※なお、Red Hat Enterprise Linux 9 ではデフォルトでDockerが削除され、Podmanへ移行しています。Podmanの詳細は以下の記事でまとめています。

Dockerとは

Dockerはコンテナ型の仮想環境を提供するソフトウェア(プラットフォーム)です。Dockerの公式ドキュメントでは以下のように説明されています。

Docker はアプリケーションを開発(developing)、移動(shipping)、実行(running)するためのオープンなプラットフォームです。Docker はインフラストラクチャ 1 とアプリケーションを切り離すため、ソフトウェアを短時間で提供できます。Docker があれば、アプリケーションを管理するのと同じ方法で、あなたのインフラも管理できます。Docker 的な手法を最大限活用しますと、テストやコードのデプロイを素早くできますので、コードを書いてから、プロダクション(実行環境)で動かすまでにかかる時間を著しく軽減できます。

Docker 概要 — Docker-docs-ja 24.0 ドキュメント

コンテナとは

コンテナは、複数のアプリケーションを実行できる環境のことを指します。Dockerの公式ドキュメントでは以下のように説明されています。

コンテナとは、イメージが実行状態となったインスタンスのことです。コンテナに対する生成、開始、停止、移動、削除は Docker API や CLI を使って行われます。コンテナは、複数のネットワークへの接続、ストレージの追加を行うことができ、さらには現時点の状態にもとづいた新たなイメージを生成することもできます。

Docker 概要 — Docker-docs-ja 24.0 ドキュメント

言葉だとわかりにくいので、図で示すと以下のようなイメージになります。Dockerはコンテナに該当します。

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

【入門】Dockerとは?概要やメリット、インストール方法をわかりやすく解説 - カゴヤのサーバー研究室
Dockerは従来の仮想化にかわって、様々な開発環境で使われている技術です。非常に扱いやすく利便性の高い技術であることから、Dockerの利用は今後も広がっていくでしょう。この記事ではDockerとは何かといった基本からメリット、インストー...

Docker上のアプリの使い方

Docker上でアプリを使用するには、以下の手順が必要です。

  • DockerをLinuxなどのOSにインストールする
  • Dockerfileを作成する
  • DockerfileをビルドしてDockerイメージを作成する
  • Dockerイメージを実行してDockerコンテナを使用可能な状態にする
  • Dockerコンテナ上でアプリを管理する

Dockerをインストールする

まずは以下のDocker公式ページにアクセスしてインストールしたいOSのDockerインストールファイルを入手する、もしくはDockerインストールイメージ保存先のURLを確認します。

Docker の入手 — Docker-docs-ja 24.0 ドキュメント

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 | 9 | Red Hat Documentation
コンテナーの構築、実行、および管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation

Red Hat Enterprise LinuxでのDockerからPodmanへの移行に関する詳細は以下のRed Hat公式記事が参考になります。なお、PodmanコマンドとDockerコマンドは使い方に変更は特にありません。

Access Denied
  • Dockerの代わりにPodmanをインストールします。Dockerデーモンのようなデーモンプロセスを起動したり管理したりする必要はありません。
  • Docker で使い慣れているコマンドは Podman でも同じように機能します。
  • Podman はコンテナとイメージを Docker とは異なる場所に保存します。
  • Podman と Docker イメージは互換性があります。
  • Podman は、 Kubernetes環境向けの Docker 以上の機能を提供します。

Podmanの詳細は以下の記事でまとめています。

Dockerfileの作成

DockerfileはDockerImageの設計図のようなものです。

Dockerfileを作成することでDockerfileをビルドしてDockerイメージを作成します。

Dockerfile reference
Find all the available commands you can use in a Dockerfile and learn how to use them, including COPY, ARG, ENTRYPOINT, ...

Dockerfileのビルド

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

Dockerイメージを実行する

ビルドして作成したDockerイメージを実行します。

タイトルとURLをコピーしました