Dockerとコンテナーを初めて使用する場合は、ApacheDockerContainerをセットアップすることから始めるのが最適です。 Dockerでアプリケーションを作成することは、その軽量なテクノロジーとセキュリティのために大きなメリットです。
このチュートリアルでは、UbuntuでApacheDockerコンテナを設定する方法を学習します。このチュートリアルを使用して、Dockerの使用を開始し、ApacheWebサーバーも使用できるようにしてください。
前提条件
ステップバイステップで実行する場合は、このチュートリアルで次のUbuntu14.04.4LTS以降のマシンにDockerがインストールされていることを確認してください。このチュートリアルでは、Dockerv19.03.8とパブリックIPアドレス13.213.48.113を備えたUbuntu18.04.5LTSを使用します。
ApacheDockerコンテナのセットアップ
Dockerを既にインストールしていると仮定して、最初にApacheコンテナーをセットアップしましょう。後で、起動する方法を学びます。
Apache Dockerコンテナをすばやく起動する最も簡単な方法の1つは、公式のDockerレジストリDockerHubから既存のコンテナイメージをダウンロードすることです。この例では、ApacheというDockerコンテナをダウンロードして実行します。
いくつかのDockerコマンドを使用すると、すぐにApacheのインスタンスを実行できます。これを行うには、以下の手順に従います。
注:このチュートリアルでは、Dockerコマンドの実行について詳しく説明していません。 Dockerコマンドの詳細については、Dockerコマンドラインのドキュメントページにアクセスしてください。
1.Ubuntuマシンでターミナルを開きます。
2. httpd
と呼ばれるApacheを含むDockerイメージをダウンロードします 、 docker pull
を実行する 以下のコマンド。このコマンドは、以下に示すように、DockerレジストリからApacheイメージをダウンロードまたはプルします。
# Pulls the Docker Images from docker registry to your local machine.
docker pull httpd
以下のスクリーンショットは、DockerHubからイメージをプルしたときに期待される結果を示しています。
3.次に、 docker images
を実行して、イメージをダウンロードしたことを確認します コンピュータで利用可能なすべての画像を一覧表示するには、以下のコマンドを実行します。
# To check the docker images
docker images
以下に示すように、DockerHubからダウンロードしたイメージであるDockerイメージが1つあります。
Dockerコマンドを使用したApacheコンテナの実行。
前のセクションでは、DockerハブからDockerイメージをダウンロードしました。これで、そのイメージからコンテナを作成する準備が整いました。 Apacheコンテナを実行するには、次のようにDockerコマンドを実行する必要があります。
1. docker run
を呼び出します ダウンロードしたApacheDockerイメージに基づいて新しいコンテナーを作成するコマンド。
# Run a new docker container called docker-apache (--name)
# Map the local computer's port 80 to the container's port 80 (-p 80:80)
# In detached mode (-d)
# Using the Apache image
docker run -d --name docker-apache -p 80:80 -d httpd
docker run
次に、コマンドは、作成したばかりのコンテナの一意のコンテナIDを返します。コンテナを削除または削除する場合は、このコンテナIDを下の強調表示されたボックスに保存してください。
2. Apacheコンテナが実行されたら、 Public-Ip-address:80 に移動して、ApacheWebインターフェースにアクセスできるかどうかを確認します。 Webブラウザを使用します。以下に示すように、同じメッセージが表示される場合は、ApacheDockerコンテナが正常に起動しています。
Ubuntu14.04.4LTSマシンにセキュリティグループで許可されているポート80のインバウンドポートがあることを確認してください。
3.最後に、 docker stop
を実行して、コンテナを実行する必要がなくなった場合にコンテナを停止します。 以下のコマンド。このコマンドは、コンテナインスタンスを正常に停止します。
# Stop the container with ID aaaee64a4512 Make sure to change the container ID value to yours.
# Note: specifying the first 12 characters of the container ID is enough.
docker stop aaaee64a4512
または、
docker stop
で名前を指定して、実行中のコンテナを停止することもできます。 コマンド(docker stop docker-apache
)。
DockerファイルからのApacheDockerコンテナの実行
前のセクションでは、デフォルトのhttpdDockerイメージを実行してApacheDockerコンテナを起動する方法を学習しました。別のコンテンツを表示したり、別のポートで公開したりするためにベースイメージを更新する必要がある場合はどうなりますか?
Dockerファイルを使用してコンテナーをデプロイすると、別のOSで同じセットアップをテストするときに、手動のイメージ作成手順を削除できます。 Dockerファイルアプローチは、Dockerイメージの自動化されたスクリプトです。
Dockerファイルを作成し、そこからコンテナーを実行してみましょう。
1.〜/ apache-server-docker-demo、という名前のフォルダを作成します 次に変更します( cd
)そのフォルダへの作業ディレクトリ。
mkdir ~/apache-server-docker-demo
cd ~/apache-server-docker-demo
2.別のファイルを作成し、以下の構成をコピーして貼り付け、ファイルを index.htmlとして保存します。 〜/ apache-server-docker-demoの内部 ディレクトリ。 index.html fileはHTMLページで、このチュートリアルではDockerでApacheコンテナを実行する方法を説明します コンテナが開始すると、コースの後半で表示されます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>This tutorial will teach how to Run Apache container in docker .</title>
</head>
<body>
<h1>This tutorial will teach how to Run Apache container in docker , lets GO!</h1>
</body>
</html>
3.別のファイルを作成し、以下の構成をコピーして貼り付け、ファイルをDockerファイルとして保存します。 〜/ apache-server-docker-demo内 ディレクトリ。完了すると、DockerはこのDockerFileを使用して、ベースイメージの上に新しいDockerイメージを構築するために必要なすべてのコマンドを実行します。
DockerFile 以下に、Apacheコンテナを構築するためのさまざまな手順/手順を示します。
メンテナ
– メンテナの指示は、このファイルを管理する作成者に関する情報を提供します。-
FROM
– FROM命令は、新しいビルドステージを初期化し、後続の命令のベースイメージを設定します。以下のコードスニペットでは、centos:7
はベースイメージです。 コピーコード> – COPYコマンドは、ファイルをホストマシン(Dockerホスト)からコンテナーにコピーします。 **** index.html 以前にDockerホストで作成したものは、コンテナー / var / www / htmlにコピーされます。 ディレクトリ。
-
EXPOSE
– EXPOSE命令は、コンテナーが実行時に指定されたネットワークポートでリッスンすることをDockerに通知します。 Apache Webサーバーは、デフォルトでPort 80
に公開されています 。
# Instruction for Dockerfile to create a new image on top of the base image (httpd)
FROM httpd:2.4
MAINTAINER [email protected]
COPY index.html /var/www/html/
EXPOSE 80
4.次に、 tree
を実行して、フォルダ内の以下の必要なファイルをすべて確認します。 指図。
5.次に、 docker build
を実行してイメージをビルドします 指図。 t
フラグは、画像にタグを付けるために使用されます apache-server
v1
を使用 および。
現在の作業ディレクトリを示します。
# Building the docker Image
sudo docker build -t apache-server:v1 .
Dockerビルドが実行されると、さまざまな属性が返されます。それらの属性の1つがREPOSITORYであることがわかります。 REPOSITORYの名前はapache-server
です。 、画像はバージョン v1
でタグ付けされています 、以下に示すように。
6.最後に、 docker run
を実行して、新しくビルドされたイメージを使用してapacheコンテナーを実行します。 指図。
p
flagは、コンテナのポートをホストに公開します。これは 80:80
です。 。 -it
flagは、コンテナのstdinに接続された疑似端末を割り当てるようにDockerに指示します。
# Running the Apache container using the newly built image
docker run -it -p 80:80 apache-server:v1
7.最後に、 Public-ip-address:80 に移動して、ApacheWebインターフェースにアクセスできるかどうかを確認します。 Webブラウザを使用します。 index.htmlファイルを作成し、Dockerが起動時にコンテナにコピーしたため、このメッセージがWebインターフェースに表示されます。
結論
このチュートリアルは、Dockerイメージを使用してApacheDockerコンテナーをセットアップするプロセスを支援することを目的としています。 Dockerファイルを使用してApacheコンテナーを起動する方法を学びました。これを使用すると、選択したカスタマイズコンテナーを編集およびビルドできます。
では、ApacheサーバーのDockerイメージに何を構築するのでしょうか?