Dockerとはコンテナ技術を用いた仮想化ソフトウェアです。
Dockerとは?コンテナとは?については、以前紹介していますが、実際どのようにコンテナを作成し、動作させるのでしょう。
今回は、コンテナを起動するまでの方法を紹介します。
Dockerfile、イメージ、コンテナの関係
まずは、コンテナ作成までの流れと、必要なファイルを整理します。
Dockerfile
Dockerでコンテナを作成する元のファイルとして、Dockerfileというものがあります。Dockerfileは、コンテナの中身のOSや、利用するソフトウェア、実行するプログラム等の情報を定義します。一般に、Dockerfileはコンテナの”設計書”と捉えられる場合が多いです。
Dockerイメージ
次に、DockerfileからDockerイメージを生成します。Dockerfileのままではコンテナ起動することはできません。DockerfileをBuildし、Docker Engineで実行できるようにしたものがDockerイメージです。一般に、Dockerイメージはコンテナを生成するための”型”と捉えられる場合が多いです。
Dockerコンテナ
イメージから生成されるものがコンテナです。生成されると聞くと想像しにくい部分がありますが、イメージを実行(起動)したプロセスがコンテナです。コンテナはプロセスなので、1つのイメージから複数のコンテナを起動することもできます。また、当該プロセスを停止・削除することで、コンテナ自体の停止・削除も簡単に操作可能です。
関係性の整理
ここまで文字で紹介してきましたが、それぞれの関係性を図にて整理します。

Docker実践
ここからは、簡単なDockerfileを作成し、コンテナとして起動します。前提条件として、Dockerが使用可能である必要があります。ターミナルまたはコマンドプロンプトで、dockerコマンドが利用可能であることを確認してください。
WindowsでのDockerインストールは、以下記事を参照してください。
【Docker】WindowsでDocker Desktop環境を構築する
必要ファイルの準備
まずはDockerfileを用意します。任意のフォルダにファイルを作成し、以下内容をペーストしたうえで保存します。ファイル名は”Dockerfile”としてください。
ここでは、Ubuntuのコンテナとしてcurlをインストールし、最後に”Hello, Ubuntu Docker!”と表示します。
# Ubuntuの最新イメージを使用
FROM ubuntu:latest
# 必要なパッケージをインストール(例: curl)
RUN apt-get update && apt-get install -y curl
# コンテナ起動時に表示するメッセージ
CMD ["echo", "Hello, Ubuntu Docker!"]
Dockerイメージ作成
作成したDockerfileから、Dockerイメージを作成します。コマンドプロンプトまたはターミナルで、作成したDockerfileのディレクトリに移動し、Docker buildコマンドを実行します。
cd <<Path to Dockerfile>>
docker build -t main .

すると、いろいろとインストールが進みます。
作成したDockerイメージは、以下コマンドで確認できます。
docker images
>>
REPOSITORY TAG IMAGE ID CREATED SIZE
main latest 62fb03104bed 4 minutes ago 219MB
Dockerコンテナ作成
続いて、Dockerイメージからコンテナを作成します以下コマンドを実行します。このとき、コンテナが作成されるだけでなく、実行されます。例では、指定したコマンドから”Hello, Ubuntu Docker!”が出力されます。
docker run main
>>
Hello, Ubuntu Docker!
作成したDockerコンテナは、以下コマンドで確認することができます。
docker ps -a
>>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
910054399d3e main "echo 'Hello, Ubuntu…" 2 seconds ago Exited (0) 1 second ago upbeat_elgamal
Dockerコンテナの起動/停止
作成済みのコンテナを再度起動する場合は、以下コマンドを実行します。コンテナの指定は、コンテナIDまたはコンテナ名で指定します。
docker start <<コンテナID / コンテナ名>>
起動中のコンテナを停止するには、以下コマンドを実行します。
※例のコンテナは、コマンド実行後に自動終了するため、docker stopは不要です。継続的なサービスととして動作する場合に用います(サーバ用途など)
docker stop <<コンテナID / コンテナ名>>
まとめ
Dockerfileの作成からコンテナを起動するまでの方法を紹介しました。Dockerイメージ自体は、配布されているものも多く存在しますが、個別にカスタムしたコンテナを作成する場合は、Dockerfileの自作が必要になります。
基本は本記事の内容に沿って進め、Dockerfileの内容等が用途によってカスタムされていきます。簡単なところから、応用に進めていければと思います。
なんとなくDockerのイメージつきました~
… 雰囲気つかめていればよいが、、ダジャレか!?
まあよい。今回はここまでにしておこう。
ありがとうございました~~♪