仮想ホストの追加方法

nginx-proxy&letsencrypt-nginx-proxy-companionコンテナ環境下で仮想ホストを追加する手順を残しておきます。

  1. サブドメインをDNS登録(nginx-proxyが稼働しているサーバのIPアドレスと紐づけ)
    • ウチではお名前.comからドメイン(windesign.work)を入手しているので、お名前.com NaviにログインしてDNS設定。
  2. 仮想ホスト用ディレクトリを作成
  3. docker-compose.ymlを作成
  4. コンテナ起動
    • 起動するだけでnginx-proxyが見つけてくれる。

仮想ホスト用ディレクトリを作成

$ mkdir hoge
$ cd hoge

docker-compose.ymlを作成

version: '2'
services:
  hoge:
    image: <コンテナイメージ名>
    expose:
      - "8080"
    environment:
      - VIRTUAL_HOST=<サブドメイン名>
      - LETSENCRYPT_HOST=<サブドメイン名>
      - LETSENCRYPT_EMAIL=<Let's Ecnrypt通知用メールアドレス>
    networks:
      - ssl_proxy

networks:
    ssl_proxy:
        external: true

各設定内容の解説

  • image…Dockerコンテナのイメージ名(DockerHubにあるもの)
    • buildなど他の手段もあるかも。(とりあえず、自分はimageで困ってないので)
  • expose…コンテナが開けているポートが80以外の場合に指定。
  • environment…環境変数。関係するのは、下記の3つ。
    • VIRTUAL_HOST…必須。nginx-proxyは、このホスト名でアクセスしてきたリクエストを、このコンテナに振り分ける。
    • LETSENCRYPT_HOST…オプション。SSL対応する場合、必須。letsencrypt-nginx-proxy-companionは、この名前でLet’s Encryptに登録する。
    • LETSENCRYPT_EMAIL…オプション。Let’s Encryptからの通知用メールアドレス。

コンテナ起動

$ sudo docker-compose up -d

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA