0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

docker で Apache の導入(docker hub のイメージ使用)

Last updated at Posted at 2021-06-25

背景

環境構築を楽にするために、docker の勉強をしております。
今回は docker hub のイメージを使用して、Apache の導入をしました。

環境

Amazon Linux release 2 (Karoo)
Docker version 20.10.4

手順

HTMLファイルを配置するディレクトリの作成

HTMLファイルを配置するディレクトリを作成します。
今回は/opt/app配下にHTMLファイルを配置します。

sudo mkdir /opt/app

docker インストール

以下の記事に手順を残してありますので、ご参照ください。

Apache イメージのダウンロード

今回は以下のイメージを使用します。

2021/06/25 時点では、2.4.48 バージョンが最新なのでこちらをダウンロードします。
イメージのダウンロードはdocker pullコマンドを使用します。
:の後にバージョン指定できますが、指定しなかった場合はlatestバージョンがダウンロードされます。

sudo docker pull httpd:2.4.48

ダウンロードできたか確認します。

sudo docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
httpd        2.4.48    30287d899656   43 hours ago   138MB

コンテナの作成

Apache イメージからコンテナを作成します。
コンテナの作成にはdocker run コマンドを使用します。
今回使用するオプションは以下の通りです。

# コンテナに入る必要がないため
-d バックグラウンド実行

# コンテナが80番でhttpdを受けているため、ホストOSから疎通できるよう設定する。
-p ホストOSとコンテナ間のポートフォワーディング ホストOS側:コンテナ側

# HTMLファイルをホストOS側に配置するための設定
-v ホストOSとコンテナのマウントの設定 ホストOS側:コンテナ側

実行したコマンドは以下の通りです。

sudo docker run -d -p 80:80 -v "/opt/app/:/usr/local/apache2/htdocs/" httpd:2.4.48

コンテナが作成できたか確認します。

sudo docker ps -a
CONTAINER ID   IMAGE          COMMAND              CREATED          STATUS          PORTS                NAMES
59a6ddb31028   httpd:2.4.48   "httpd-foreground"   25 seconds ago   Up 24 seconds   0.0.0.0:80->80/tcp   funny_kalam

HTMLファイルの配置

Apache のドキュメントルートは/usr/local/apache2/htdocs/に設定されています。
今回は/opt/app/にマウントしているので、/opt/app/配下にHTMLファイルを配置します。

sudo vi /opt/app/index.html
hello world

最後にURLをブラウザに入力して、配置したHTMLファイルが表示されるか確認します。

image.png

無事表示されたので、作業終了です。

最後に

今回は docker hub で公開されているイメージを使って、Apache を導入しました。
あくまで私の感想ですが、システムエンジニア初心者の方が Apache のお試しをするのであれば、yum でのインストールでも十分だと思います。

ただ docker の便利なところは全く同じ環境を複製することができるという点だと思いますので、複数のサーバに同じ Apache の環境を用意したい場合に適していると思います。

例えば、本番サーバに docker を使用している場合は、開発環境に同じコンテナを使用することで同じ環境を用意できるので便利だと思います。

ただ、本番サーバの Apache はなるべく最小限でインストールするため、ソースコードからビルドしてインストールしていると思います。
ですので、次は自分でイメージを作成する勉強をして記事にします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?