在相同的Docker主机(nginx-proxy)上curlDocker容器

我有一个基于docker-letsencrypt-nginx-proxy-companion的设置,在同一个Docker主机上运行一个django容器和一个wordpress容器。 我已经添加到域的每个容器,所以wordpress容器可以与mydomain.com和www.mydomain.com以及与subdomain.mydomain.com django容器。 这是在VIRTUAL_HOST env中configuration的,并且其工作完美。 我得到所有的证书,我可以连接到他们每个人。

我现在的主要问题是,wordpress容器需要curldjango容器,反之亦然。 但是,如果我进入Django或WordPress的容器,并尝试打电话给例如subdomain.mydomain.com我得到以下错误:

$ curl mydomain.com Hostname was NOT found in DNS cache 

然后他试图连接到IP,并在超时结束。 如果我从本地或不同的服务器curl,我得到一个200没有任何问题,每个人。 我读了一些DNS解决问题,但是我找不到解决scheme。 你有什么线索可以在这种情况下做什么?

提前致谢!

我的容器:

Nginx代理撰写

 version: "2" services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy restart: always ports: - "80:80" - "443:443" volumes: - "/var/www/certificates:/etc/nginx/certs:ro" - "/etc/nginx/vhost.d" - "/usr/share/nginx/html" - "/var/run/docker.sock:/tmp/docker.sock:ro" letsencrypt-nginx-proxy-companion: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion restart: always volumes_from: - nginx-proxy volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "/var/www/certificates:/etc/nginx/certs:rw" networks: default: external: name: proxy-network 

WordPress撰写

 version: '2' services: mariadb: build: context: . dockerfile: build/env/mysql/Dockerfile env_file: .env restart: "always" ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - prod-database:/var/lib/mysql php: build: context: . dockerfile: build/env/php-fpm/Dockerfile env_file: .env restart: "always" volumes: - ${SRC_APP_PERSISTENT}:/var/www/html links: - mariadb:mysql web: build: context: . dockerfile: build/env/nginx/Dockerfile restart: "always" links: - php:fpm volumes_from: - php environment: - VIRTUAL_HOST=mydomain.com,www.mydomain.com - VIRTUAL_PORT=443 - VIRTUAL_NETWORK=proxy-network - LETSENCRYPT_HOST=mydomain.com,www.mydomain.com - LETSENCRYPT_EMAIL=info@mydomain.com ports: - "80" volumes: prod-database: driver: local networks: default: external: name: proxy-network 

Django撰写

 version: '2' volumes: postgres_data_dev: {} postgres_backup_dev: {} services: postgres: build: ./compose/postgres volumes: - postgres_data_dev:/var/lib/postgresql/data - postgres_backup_dev:/backups environment: - POSTGRES_USER=dbuser django: build: context: . dockerfile: ./compose/django/Dockerfile-dev env_file: .env command: /start-dev.sh depends_on: - postgres environment: - POSTGRES_USER=dbuser - USE_DOCKER=yes - VIRTUAL_HOST=subdomain.mydomain.com - VIRTUAL_PORT=443 - VIRTUAL_NETWORK=proxy-network - LETSENCRYPT_HOST=subdomain.mydomain.com - LETSENCRYPT_EMAIL=info@mydomain.com volumes: - .:/app ports: - "8000" links: - postgres - mailhog pycharm: build: context: . dockerfile: ./compose/django/Dockerfile-dev depends_on: - postgres environment: - POSTGRES_USER=dbuser volumes: - .:/app links: - postgres mailhog: image: mailhog/mailhog ports: - "8025:8025" networks: default: external: name: proxy-network