このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】Apacheコンテナを実行してみる

ここでは、Apacheコンテナを実行してみます。
Apacheとは
まず、Apatche(アパッチ)について簡単に解説します。

Apache(アパッチ)は、世界中で広く使用されている無料のオープンソースのウェブサーバーソフトウェアです。ウェブサイトのコンテンツをインターネットに配信します。
Apacheは、高い安定性と信頼性から人気を集めており、個人から企業などで幅広く利用されています。最初のバージョンが公開されたのは1995年と古く、細かなアップデートを繰り返しながら20年以上も使われ続けており、運用実績があります。
Apacheの呼び名ですが、今ではApache(アパッチ)で定着していますが、正式には「Apache HTTP Server」といいます。非営利団体のアパッチソフトウェア財団(Apache Software Foundation)が開発しています。
Apacheという名前の由来については2つの説があります。1つ目は「アメリカ先住民族アパッチ族に由来する」というものです。2つ目は「いくつものソフトウェアパッチ、つまり修正を経てきたことから)“パッチのサーバー”を意味する」というものです。
最近では、動作が軽量なnginxの人気がでており、台頭してきていますが。まだまだ、実績のあるApacheは、世界中で使われ続けています。
Apacheコンテナの実行
Apacheとは、何者なのかが理解できたとこで、Apacheコンテナを実行していきます。
コンテナのライフサイクルにおける①のApacheイメージのpull から④のApacheコンテナの停止までを操作していきます。

Apacheイメージについて
Docker Hubに登録されているApacheイメージを利用していきますが、注意することがあります。
それは、
イメージの名前が「Apache」ではなく「httpd」であることです。
イメージのpull から実行まで
「docker container run」コマンドを使って、イメージのpull、コンテナの作成と実行を行います。
「docker container run」コマンドは、イメージがまだローカルホストにない場合、Docker Hubからpull するします。すなわち、ライフサイクルの①~③までが、一気に行われます。
Apacheコンテナの実行
それでは、Apacheコンテナを実行していきます。
以下のコマンドを実行します。
docker container run --name webserver3 -d -p 8080:80 httpd
「-d」オプションを指定してデタッチモードで、コンテナを実行します。httpdイメージには、タグを指定しないため、「latest」(最新バージョン)が適用されます。
コマンドの意味は以下のとおりです。
docker container run | --name webserver3 | -d -p 8080:80 | httpd |
コマンド本体 | コンテナの名前:webserver3 (オプション) | -d:デタッチモード、-p:ポート番号 (オプション) | イメージ名:httpd (パラメータ) |
「docker container run --name webserver3 -d -p 8080:80 httpd
」コマンドを実行します。
PS C:\Users\joeac> docker container run --name webserver3 -d -p 8080:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
e1caac4eb9d2: Already exists
87b0fe460fd9: Pull complete
4f4fb700ef54: Pull complete
9cebd3e3b523: Pull complete
e9304da947c5: Pull complete
b60d4b66b268: Pull complete
Digest: sha256:104f07de17ee186c8f37b9f561e04fbfe4cf080d78c6e5f3802fd08fd118c3da
Status: Downloaded newer image for httpd:latest
a17cb5e178e665ceef0abe5bbad4e53745b3e0e8e56494cc4d06856ed257d6b3
Webブラウザを起動します。
URLに「http://localhost:8080/」と入力します。
下図のように「It works!」と表示されたら成功です。

Apacheコンテナの停止
webserver3コンテナを停止させます。
「docker stop」コマンド
実行中のコンテナを停止させるには、「docker stop」コマンドを使用します。
「docker stop webserver3」コマンドを実行します。
PS C:\Users\joeac> docker stop webserver3
webserver3
Webブラウザをリーロードします。
コンテナが停止しているため、Webserver3に接続できず、下図のように「正常に接続できませんでした」と表示されます。

「docker start」コマンド
停止中のコンテナを実行させるには、「docker start」コマンドを使用します。
「docker start webserver3」コマンドを実行します。
PS C:\Users\joeac> docker start webserver3
webserver3
Webブラウザでリロードします。
webserver3に接続できるようになったため、下図のように再び「It works!」が表示されます

「docker stop」コマンド
今後のDocker演習に備えて、実行中のwebserver3コンテナを停止させておきます。「docker stop」コマンドを使用します。
「docker stop webserver3」コマンドを実行します。
PS C:\Users\joeac> docker stop webserver3
webserver3
以上で、Apacheコンテナの実行に関する解説は終わりです。