2017-08-18 15 views
1

ローカルマシン上の開発環境をdocker-composeに設定します。私は自分のサイトにあらかじめ定義されたドメイン名を割り当てようとしています。 app1.myapps.testのような3つのレベルのドメインで、app1の代わりに指定する必要があります。Docker for Windows - コンテナドメイン名を解決できません

私はドッカーではなく、コンテナに静的IPアドレスを割り当て、手動hostsファイルにこれらのIPアドレスを追加することで、二つの性質ホスト名ドメイン名を使用して自動的にこれらのホスト名を割り当てます。

マイドッカーは、ファイルを構成するには、次のとおりです。

http://app1.myapps.test/を開き、DNSアドレスを解決できなかったことを私に言って、エラーを確認しようとすると
version: '3' 
services: 
    app1: 
    build: . 
    container_name: app-1 
    domainname: myapps.test 
    hostname: app1 

。 プロパティdomainname: myapps.testを削除すると正常に動作し、ホスト名http://app1/で自分のサイトにアクセスできます。

hostname: app1.myapps.test 

または

domainname: myapps.test 
hostname: app1.myapps.test 

に(ドメイン名なし)に設定を変更する

は同様に助けにはなりませんでした。

Docker DNSでマルチレベルドメインを設定する方法と、オプションdomainnameの仕組みはありますか?何か不足していますか?

答えて

1

はい、あなたは

version: '3' 
services: 
    app1: 
    build: . 
    container_name: app-1 

以下のように変更した場合はそれはまだ動作するはずですので、お使いのコンで重複する名前の

version: '3' 
services: 
    app1: 
    build: . 
    container_name: app-1 
    domainname: myapps.test 
    hostname: app1 

何かを逃しました。あなたが言うとき

私はホスト名http://app1/で自分のサイトにアクセスできます。

これはサービスの名前であるためです。 hostname: app1を指定したためではありません。だから本当に必要なのはネットワークエイリアスです。あなたがデフォルトネットワークを使用しているからです。以下のようなものを使用できます

version: '3' 
services: 
    app1: 
    build: . 
    container_name: app-1 
    hostname: app1 
    networks: 
     default: 
     aliases: 
      - app1.myapps.test 
関連する問題