Dockerでnginxリバースプロキシを利用した複数アプリケーションのホスティング
やりたいこと
・nginxリバースプロキシのDocker-containerを建てる。
・サブドメインを設定して、アプリケーションを建てる。
nginxでリバースプロキシを建てる
以下のソースを使えば非常に簡単に構築できます。
https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
ますソースをcloneします。
$git clone https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion.git
次に
$cd docker-compose-letsencrypt-nginx-companion.git
$cp .env.sample .env
そして.envを各環境に合わせて編集します。(dockerで利用するnetworkなど)
$vim .env
最後にsetup用のスクリプトを実行します。
$sh ./start.sh
※ここで.envが見つからないというerrorが出る場合、start.shのファイルパスを編集します。(.envを./.envに編集)
docker-containerを立ち上げます。
$docker-compose up -d docker-compose.yml
以上で基本的なリバースプロキシの設定は終わりです。
アプリケーション側の設定
利用したいアプリケーションのdocker-compose.ymlを編集します。
$vim docker-compose.yml
environment:
VIRTUAL_HOST: subdomain_hoge.domain.huga
LETSENCRYPT_HOST: subdomain_hoge.domain.huga
LETSENCRYPT_EMAIL: hoge@hoge.huga
を追記します。(dockerネットワークを.env編集時に変更した場合はnetworksの設定も追加する。)
設定は以上になります。
最後にドメイン名を指定してアプリケーションが動いているか確認して下さい。
参考
https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion