21
33

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 5 years have passed since last update.

Dockerで簡単にマルチドメインかつSSL証明(自動更新) nginx-proxyとLetsEncrypt

Last updated at Posted at 2017-08-09

はじめに

Dockerの説明は割愛します。
はてなよりもQiitaにあげたほうがいい気がするのでこちらで共有させていただきます。

同一サーバー上に二つのDockerコンテナー
dockerA dockerB にそれぞれ a.com / b.com というドメインを割り当てることを前提として話を進めます。

# 使うもの
・Docker - 当たり前
・nginx-proxy コンテナーをプロキシしてくれる神
・letsencrypt-nginx-proxy-companion SSL証明(自動更新)してくれる神

#やり方
適当なディレクトリで docker-compose.yml を作成
docker-compose.yml :基本的にはコピペでおk

nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
privileged: true
ports:

  • 80:80
  • 443:443
    volumes:
  • ./docker-compose.d/certs:/etc/nginx/certs:ro
  • ./docker-compose.d/htpasswd:/etc/nginx/htpasswd
  • /etc/nginx/vhost.d
  • /usr/share/nginx/html
  • /var/run/docker.sock:/tmp/docker.sock:ro
    restart: always

letsencrypt-nginx:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt-nginx
privileged: true
volumes:

  • ./docker-compose.d/certs:/etc/nginx/certs:rw
  • /var/run/docker.sock:/var/run/docker.sock:ro
    volumes_from:
  • nginx-proxy
    restart: always

はい。同じディレクトリ上で
$docker-compose up -d

これで nginx-proxy と nginx-proxy-companion をrunできました。

あとは dockerAとdockerBをrunするときに下記の3つの環境変数を設定してあげることで勝手にproxyかつSSLしてくれます。
・VIRTUAL_HOST    nginx-proxyのために必要。割り当てるドメイン名を設定する
・LETSENCRYPT_HOST letsencrypt-nginx-proxy-companionに必要。SSL証明書取得のためのドメイン名を設定する
・LETSENCRYPT_EMAIL letsencrypt-nginx-proxy-companionに必要。SSL証明書取得のためのメールアドレスを設定する

#実際にコンテナーをrunしてみる
dockerAコンテナをrun
$ docker run -e VIRTUAL_HOST=a.com -e LETSENCRYPT_HOST=a.com -e LETSENCRYPT_EMAIL=アドレス [dockerAのimageID]

dockerBコンテナをrun
以下省略

#簡単にマルチドメインかつSSL証明できたよ^ ^!!

なおSSL証明書は docker-composeしたディレクトリ/docker-compose.d/certs にあります

21
33
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
21
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?