【Docker Mac】コンテナ上でhttpdを起動する


はじめに

今回は、「Docker Hub」に公開されている公式イメージ「httpd」を利用して、Webサーバーの起動、コンテナ操作のコマンドを実行してみます。
※こちらのWindows版ページを参考にmacで同様な操作を実施してみます。

 

①Docker Hubからイメージを取得する

 

docker search」コマンドを使用して「Docker Hub」から「httpd」イメージを検索します。

docker search httpd

NAME DESCRIPTION STARS OFFICIAL AUTOMATED
httpd The Apache HTTP Server Project 3306 [OK] 
centos/httpd-24-centos7 Platform for running Apache httpd 2.4 or bui… 36 
centos/httpd 33 [OK]
arm32v7/httpd The Apache HTTP Server Project 9 
arm64v8/httpd The Apache HTTP Server Project 6 
・
・

 

docker pull」コマンドでイメージをダウンロードします(最新版を取得)

docker pull httpd

Using default tag: latest
latest: Pulling from library/httpd
6ec7b7d162b2: Pull complete 
17e233bac21e: Pull complete 
130aad5bf43a: Pull complete 
81d0a34533d4: Pull complete 
da240d12a8a4: Pull complete 
Digest: sha256:a3a2886ec250194804974932eaf4a4ba2b77c4e7d551ddb63b01068bf70f4120
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest

 

docker images」コマンドで保有しているイメージのリストを確認します。

docker pull httpd

REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest dd85cdbb9987 3 weeks ago 138MB
nginx latest daee903b4e43 6 weeks ago 133MB
docker/getting-started latest 67a3629d4d71 2 months ago 27.2MB

 

docker run」コマンドでコンテナイメージを起動します。

docker run -d -p 8080:80 httpd

6a9d5dccda61b7e0a386f61564449a02d54d7b16acb55915239bc6ca34e4b8e6

 

ブラウザから「http://localhost:8080」へアクセスします。「It Works!」画面が表示されます。

 

 

docker ps」コマンドで、実行中コンテナの状態を確認します。httpdコンテナが起動しています。

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a9d5dccda61 httpd "httpd-foreground" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp relaxed_mclean

 

docker stop」コマンドでコンテナIDを指定し、コンテナを停止します。

docker stop 6a9d5dccda61

6a9d5dccda61

 

再度ブラウザから「http://localhost:8080」へアクセスするとページが表示されません。

 

docker ps」コマンドで今度は「-a」オプションを指定、停止中のコンテナも含め全て表示します。httpdのコンテナのSTATUSが「Exited」となっています。

docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a9d5dccda61 httpd "httpd-foreground" 2 minutes ago Exited (0) 19 seconds ago relaxed_mclean
b8c4fd931f03 docker/getting-started "/docker-entrypoint.…" 6 weeks ago Created tender_moser
cf6a49c593f6 nginx "/docker-entrypoint.…" 6 weeks ago Exited (255) 6 weeks ago 0.0.0.0:80->80/tcp webserver

 

同じコンテナを再開する場合は、「docker start」コマンドでコンテナIDを指定します。

docker start 6a9d5dccda61

6a9d5dccda61

 

動作中のコンテナを強制終了したい場合は、「docker kill」コマンドを実行します。

docker kill 6a9d5dccda61

6a9d5dccda61

 

停止中のコンテナを削除する場合は、「docker rm」コマンドを実行します。

docker rm 6a9d5dccda61

6a9d5dccda61

 

docker ps」コマンドでhttpdコンテナが削除されていることを確認します。

docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b8c4fd931f03 docker/getting-started "/docker-entrypoint.…" 6 weeks ago Created tender_moser
cf6a49c593f6 nginx "/docker-entrypoint.…" 6 weeks ago Exited (255) 6 weeks ago 0.0.0.0:80->80/tcp webserver

 

再度「docker run」コマンドでhttpdコンテナを起動した場合は、別のプロセスとして新たなコンテナIDが割り当てられます。「07c72459b7b9」が割り当てられました。

docker run -d -p 8080:80 httpd

07c72459b7b98924fc73ee19788411df6f08577269c5b8e383697b8ca5d64972

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07c72459b7b9 httpd "httpd-foreground" 13 seconds ago Up 12 seconds 0.0.0.0:8080->80/tcp nice_franklin

 

今回は「Docker Hub」からイメージを取得し、Webサーバーの起動、コンテナを操作するところまで実施しました。実施してみましたが・・・。Windowsの操作とほぼ同じでした。
今回の内容についてはWindowsで実施されたことがある方は、スムーズに進むと思います。

Mac版Dockerの利用についてまた次回お楽しみに!

 

 

  お問い合わせ  - お気軽にお問い合わせください - 

  • 株式会社 パブリックリレーションズ
  • 〒064-0807
  • 北海道札幌市中央区南7条西1丁目13番地 弘安ビル5階
メールでのお問い合わせはこちら

  • この記事をシェアする