GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

DockerコンテナにシンプルなApacheWebサーバーをセットアップする方法

開発者をサポートするLinuxシステム管理者の場合、 Dockerについて聞いたことがあるかもしれません。 。そうでない場合、このソフトウェアソリューションは、運用コストの削減と展開の加速などのメリットを提供することで、今日からの生活を楽にします。

しかし、それは魔法ではありません。 Docker プラットフォームがコンテナを活用するため、アプリケーションのパッケージと、環境間の違いを排除するために実行する必要のあるすべてのツール。

つまり、コンテナ化されたソフトウェアは、インストール場所に関係なく動作し、一貫して管理できます。さらに、コンテナは、古き良き仮想マシンよりもセットアップ、起動、停止、保守がはるかに簡単です。

これら2つのテクノロジーの違いについて詳しく知りたい場合は、Dockerの公式ウェブサイトで優れた説明が提供されています。

説明のために、この記事では Dockerをインストールする方法を説明します CentOS / RHEL Rocky / Alma Linux 、および Debian / Ubuntu 、Apache 2.4を起動します DockerHubのコンテナ 。

次に、それを使用して、ホームディレクトリから簡単なWebページを提供します。すべて、ホストにWebサーバーをインストールする必要はありません。

LinuxへのDockerのインストール

まず、 Dockerをインストールしましょう 次のcurlコマンドを使用します。これにより、Dockerリポジトリをシステムに追加してパッケージをインストールするシェルスクリプトをダウンロードして実行します。

# curl -fsSL https://get.docker.com | sh

次に、systemctlコマンドを使用して、メインの Dockerを起動します。 サービスを開始し、再起動中に開始できるようにして、ステータスを確認します。

# systemctl start docker
# systemctl enable docker
# systemctl status docker

この時点で、簡単に実行できます。

# docker

使用可能なコマンドのリストを表示したり、ヘルプを表示したりします。

# docker COMMAND --help
# docker ps --help

システムに存在するコンテナを一覧表示する方法を説明しますが、

# docker run --help

コンテナの操作に使用できるすべてのオプションが出力されます。

Apacheコンテナのセットアップ

Dockerのすばらしい点の1つ エコシステムとは、簡単にダウンロードして使用できる標準のコンテナが数十あることです。

次の例では、 Apache 2.4をインスタンス化します。 tecmint-webという名前のコンテナ 、現在の端子から切り離されています。 httpd:2.4という画像を使用します DockerHubから 。

ポート8080のパブリックIPアドレスにリクエストを送信する予定です。 ポート80にリダイレクトされます コンテナに。また、コンテナ自体からコンテンツを提供する代わりに、 / home / user / websiteから簡単なWebページを提供します 。

これを行うには、 / home / user / website /をマッピングします / usr / local / apache2 / htdocs / コンテナに。 sudoを使用する必要があることに注意してください またはrootとしてログインします 続行し、各ディレクトリの最後にあるスラッシュを省略しないでください。

# sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

この時点で、 Apache コンテナが稼働している必要があります。

$ sudo docker ps

それでは、 docker.htmlという名前の簡単なWebページを作成しましょう。 / home / user / website内 ディレクトリ。

# vi /home/user/website/docker.html

次のサンプルHTMLコンテンツをファイルに追加します。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at Tecmint.com</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

次に、ブラウザで Server-IP:8080 / docker.htmlを指定します (サーバーIP ホストのパブリックIPアドレスです)。以前に作成したページが表示されます。

必要に応じて、コンテナを停止できます。

$ sudo docker stop tecmint-web

削除します:

$ sudo docker rm tecmint-web

クリーンアップを完了するには、コンテナで使用されていたイメージを削除することをお勧めします(他の Apache 2.4 を作成する場合は、この手順を省略してください。 すぐにコンテナ)。

$ sudo docker image remove httpd:2.4

上記のすべての手順で、ホストにWebサーバーをインストールする必要がなかったことに注意してください。

概要

この記事では、 Dockerのインストール方法について説明しました コンテナを操作します。残念ながら、これらは基本的なものにすぎません。 Dockers を対象とするコース全体、書籍、認定試験があります。 (および一般的なコンテナ)より詳細。

Dockerについて詳しく知りたい場合 、Dockerをインストールし、アプリケーションをコンテナに実行し、dockerfileを使用してdockerイメージを自動的に構築する方法を説明する3つの記事シリーズについてはすでに説明しました。

  • Dockerをインストールし、CentOSとRHELで基本的なコンテナー操作を学ぶ
  • CentOS/RHELのDockerコンテナにアプリケーションをデプロイして実行する方法
  • CentOS/RHELでDockerfileを使用してDockerイメージを自動的に構築および構成する
  • Dockerイメージ、コンテナー、およびボリュームを削除する方法

これを出発点として、ご不明な点やご意見がございましたらお知らせください。ご連絡をお待ちしております。


Docker
  1. ApacheWebサーバーを構成する方法

  2. DockerコンテナでMySQLを実行する方法:シンプルでわかりやすいガイド

  3. UbuntuにApacheWebサーバーをインストールする方法

  1. CentOS7にApacheWebサーバーをインストールする方法

  2. Centos8にApacheWebサーバーをインストールする方法

  3. LXDコンテナ内のApacheWebサーバーにアクセスする

  1. UbuntuからApacheWebサーバーを削除する方法

  2. Dockerの学習:Dockerコンテナを作成する方法

  3. LinuxにApacheWebサーバーをインストールする方法