開発者をサポートする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イメージ、コンテナー、およびボリュームを削除する方法
これを出発点として、ご不明な点やご意見がございましたらお知らせください。ご連絡をお待ちしております。