Docker Debian Apache Dockerfile コンテナ 環境 作成

今回は、DebianとApacheで構成された、

シンプルなコンテナを作成する為の手順を、メモしておこうと思います。

コンテナにまとめる対象

・Debian10(buster-slim)

・Apache(2.4.38)

Debianは、デフォルトインストールされているソフトが少ないslim版を利用します。

また、Apacheは、最新バージョンではなく少し古い2.4.38を指定します。

 


Dockerfile 作成・配置

まず、Dockerfileを配置するディレクトリを準備します。

ディレクトリを準備したら、Dockerfileという名称の空ファイルを作成します。

そして、Dockerfileの内容を、以下の様に変更します。

FROM debian:buster-slim
ARG APACHE_VERSION="2.4.38-3+deb10u4"
RUN apt-get update; \
    apt-get install -y apache2=$APACHE_VERSION

 

今回は、Debian10の軽量版を利用しますので、FROMでイメージ指定する際に、

OS名:タグの形式で指定します。

FROM debian:buster-slim

 

タグ名は、dockerhubのDebianページのサポートタグの一覧から確認して指定します。

dockerhub – debian –

 

また、今回はバージョン指定してApacheをインストールするので、apt-getを利用します。

Apacheインストール実行前に、updateでパッケージインデックスを更新しておきます。

apt-get update

尚、最新版のApacheをインストールする場合、apt-getではなく、aptでも可能です。

※aptを利用する場合でも、念のためupdateでパッケージインデックスを更新します。

FROM debian:buster-slim
RUN apt update; \
    apt install -y apache2;

 


Docker image ビルド 実行

Dockerfileを準備できたら、イメージをビルドして実行を行います。

・image ビルド

以下のコマンドで実行を行います。

docker build -t イメージ名 Dockerfile配置パス

docker build -t hello-app1 .

Docker-docs-ja – build –

・コンテナ実行

ビルドが完了したら、コマンドでコンテナを実行します。

docker run -dit –name コンテナ名 -p ポート番号 イメージ名

docker run -dit --name debian-apache1 -p 8080:80 hello-app1

Docker-docs-ja – run –

-dオプションを指定するとバックグラウンド処理&コンテナID表示されます。

(バックグラウンド処理の為、コンテナOSへはログインされません)

 


挙動確認

Apacheのバージョンにもよりますが、

今回のバージョンの場合、コンテナ起動時にApacheが起動されます。

(Linuxディストリビューションの種類や、Apacheのバージョンによって異なります)

ブラウザなどで、コンテナ起動時に指定したポート番号を指定しつつhttpアクセスしてみます。

localhost:8080

 

確認用のページが表示されれば、正常に動作しています。


コンテナ終了

コンテナの処理を終了する場合、以下のコマンドを実行します。

docker stop コンテナ名 or コンテナID

docker stop debian-apache1

 


補足

Debianにインストール可能なapacheのバージョンを確認するには、

事前にapt-cacheコマンドを利用して確認しておく必要があります。

確認もコンテナを利用した方が簡単ですので、以下の手順を実行して確認できます。

・コンテナ起動・自動ログイン

以下のコマンドを実行して、コンテナを起動して確認用OSにログインします。

docker run -it イメージ名

docker run -it hello-app1

確認用のコンテナOSにログインしたら、

念のためパッケージリストの更新を行います。

apt-get update

・apt-get インストール 可能 パッケージ確認

以下のコマンドで、apt-getでインストール可能なパッケージ確認を行います。

apt-cache madison apache2 対象パッケージ名

apt-cache madison apache2

debian manpage – apt-cache –

 


 

今回のメモは、以上となります。

Dockerのコンテナをすれば、簡単に色々な環境を再現できるので便利です。

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 172

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る