概要
Dockerの初心者が、簡単にDockerの使い方を学びたいとき、apache2のhttpdサーバーの環境を構築すると理解が早い。今回は、httpdサーバーのコンテナ立ち上げからweb起動方法までを紹介します。
本記事の読者層
目次
Apache2をDockerで利用する方法
Dockerの環境
本記事では以下の環境でDockerをインストールします。
- Docker
バージョン 20.10.21 - apache2
バージョン 2.4.54 (Unix)
apache2の最新版イメージを「Docker Hub」からダウンロードし利用します。
apache2イメージのダウンロードは「Docker Hub」の検索画面から「httpd」で見つけることができます。
https://hub.docker.com/_/httpd
$ sudo docker pull httpd
にて最新版をダウンロードしておきます。
$ sudo sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest 9ded7abe41a3 8 days ago 615MB
httpd latest 73c10eb9266e 8 days ago 145MB
mysql 5.7 d410f4167eea 3 weeks ago 495MB
mysql latest 7484689f290f 3 weeks ago 538MB
本記事では、このMySQLのイメージを使用してDockerの基本的なコマンドの使い方を解説します。
# | コマンド | 意味 |
---|---|---|
1 | docker pull | docker hubでイメージのダウンロード |
2 | docker run | dockerのコンテナ化 |
3 | docker ps | 実行中コンテナのリスト |
4 | doker image | docker hubでダウンロードしたイメージリスト |
5 | docker stop | コンテナの停止 |
6 | docker rm | コンテナの削除 |
MySQLのコンテナの起動と停止
$ sudo docker run --name apache2 -d -p 8081:80 httpd
ea89699bc8e30d4ac9abd85151147f2182467919992a0a55ce20dee8ae20cd53
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
ea89699bc8e3 httpd "httpd-foreground" 42 seconds ago Up 41 seconds 0.0.0.0:8081->80/tcp, :::8081->80/tcp apache2
STATUSが「up」となっているため、駆動しています。
削除方法は以下の通りです。Dockerのコンテナを「docker stop」で止めからでないと、「docker rm」で削除できません。
$ sudo docker stop httpd
$ sudo docker rm httpd
またイメージ内に入るには以下のコマンドを入力します。コマンドプロンプトがでれば問題ありません。
$ sudo docker exec -it apache2 /bin/bash
root@ea89699bc8e3:/usr/local/apache2#
また、バージョン情報を確認します。
root@ea89699bc8e3:/usr/local/apache2# httpd -v
Server version: Apache/2.4.54 (Unix)
Server built: Dec 21 2022 11:26:04
Web上で確認
次に「http://localhost:8081」にアクセスを行い、画面上で「It works!」とでれば起動できています。
「WEBサーバー」+「phpサーバー」+「mySQLサーバー」を同時に立ち上げる方法も以下の記事で紹介しています。
まとめ
本記事のまとめ
本記事のまとめは、
(1) Docker pull httpd→Docker run (container ID)
(2) Docker stop (container ID)→Docker rm httpd
という手続きが必要である。
コメント