0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerをnginxのリバースプロキシで制御する

Posted at

概要 

一つのレンタルサーバーに複数のWebサイトをURLで制御する必要性があり、Dockerとnginxを用いて組んでみたという話

環境

レンタルサーバー : さくらのVPS(1GBプラン)
os : CentOS7
Docker version 19.03.12, build 48a66213fe
nginx version: nginx/1.16.1

Dockerの環境構築

Dockerを使ったこともない人が付け焼刃でDockerを組んでみたら意外と組めるものであったが...
数点はまったので書いておく

  • systemctlが使えない
    まず、普通にCentosのDockerをたてたが、systemctlが認識されない.....
    なんと、起動時に指定しないといけないらしい....(知らなかった....)
    ということで、Docker runするときに以下のコマンドを追加
--tmpfs /tmp --tmpfs /run -v /sys/fs/cgroup:/sys/fs/cgroup:ro --stop-signal SIGRTMIN+3
  • portがかぶって複数のコンテナがたたない
    docker container runをするときに ipオプションで ホスト:コンテナの順で、指定する

Dockerをnginxのリバースプロキシで制御する

ここからは本題のDockerをnginxのリバースプロキシで制御したという話
今回の最終目標は以下の図のようにすることである
nginx.jpg

図の説明をすると、URLを基にDocker1~Docker4のどれかに接続する
今回はSSLについては記述しない
nginxの設定は/etc/nginx/conf.d以下に記述する
接続したいDocckerのコンテナ名でconfファイルを生成する
そこに以下を記述する

server{
    listen 80;
    server_name         <接続したいURL>;
    location / {
        proxy_pass    <DockerのIP>;
    }
}

この記述ができ次第nginxを再起動する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?