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

Ngnixを使用してUbuntuでDockerコンテナをプロキシする

Dockerのインストール

Dockerについて聞いたことがある場合は、密閉された環境でアプリケーションを構築するのに役立つDockerの機能について知っているかもしれません。これは、開発者のマシンと本番マシン(HostwindsのVPSサーバーなど)の間で発生する可能性のある変更を排除するため、役立ちます。

Dockerのインストール方法

次のコマンドを使用してDockerをインストールします:

apt-get install docker

コンテナテクノロジーは環境を密閉するのに役立ちますが、SSLやその他のアプリケーションなどを構成する必要がある場合は、さらに複雑になる可能性があります。

Nginxのインストール

Nginx(「Engine-ex」と発音)は、高度に構成可能なWebサーバーです。これは、「リバースプロキシ」と呼ばれるものを設定するのに最適です。これは、このWebサーバーがリクエストを受け取り、Dockerコンテナに転送することを意味します。これをHostwindsVPSに追加します:

apt-get install nginx

単純なApacheコンテナのセットアップ

このために、Dockerハブで公式のApacheイメージを使用します。ドキュメントはここにあります。

ドキュメントに記載されているように、DockerFileを作成する必要があります。

nano(nano apache。docker)などのテキストエディタを使用して、次の内容のファイルを作成します。

FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/

次に、index.htmlというファイルを作成し、その内容に挿入します。

<h1> Hello World! </h1>

インデックスファイルの代わりに、静的ページやディレクトリを使用することもできます。簡単にするために、単一のHTMLファイルで十分です。ファイルが書き込まれたら、これらのコマンドを実行してDockerファイルを作成します。

docker build -t apache-demo
docker run -dit --name demo-web -p 8080:80 apache-demo

[yourdomain:8080]または[your IP]:8080でサーバーにアクセスすると、このページがWebブラウザに表示されます

Nginxをリバースプロキシとして構成する

ファイルを提供するようにDockerコンテナーを設定すると、Nginxを設定できます。このようにして、ほとんどの場合、コンテナーの構成をそのままにして、Nginxの背後でサイロ化することができます。 /etc/nginx/nginx.confを編集します 次のコードを追加します:

server {
                server_name [YOUR.DOMAIN.NAME];
                listen 80;
                location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://127.0.0.1:8080;
                }
        }

ここから、NGINXがすべてのパブリックリクエストを受け取り、Apacheコンテナがファイルを提供します。


Docker
  1. Portainer:Dockerコンテナーを実行および取得するための使いやすいGUI

  2. Ubuntu20.04にDockerをインストールして使用する方法

  3. Ubuntu22.04のDockerコンテナ間でデータを共有する方法

  1. DockerComposeの使用方法

  2. Docker

  3. プロキシを使用するように docker を構成する方法

  1. DockerとKubernetes

  2. Dockerのインストール(Ubuntu)

  3. UbuntuでDockerをインストールしてDockerコンテナを実行する方法