Docker将主机绑定到容器

Docker将主机绑定到容器,docker,docker-compose,Docker,Docker Compose,我有两个容器nginx和php如何配置docker compose,所以当我制作wget时http://example.com从php容器内部,此主机应指向nginx容器将您的nginx端口映射到主机端口 如果您的主机名为example.com,并且nginx在8080端口上运行,请像这样设置docker compose nginx: image: nginx hostname: nginx ports: - "8080:80" 在这种情况下,请求htt

我有两个容器nginx和php如何配置docker compose,所以当我制作
wget时http://example.com
从php容器内部,此主机应指向nginx容器

将您的nginx端口映射到主机端口

如果您的主机名为
example.com
,并且nginx在8080端口上运行,请像这样设置docker compose

nginx:  
  image: nginx  
  hostname: nginx  
  ports:  
    - "8080:80"  

在这种情况下,请求
http://example.com
将作为
http://nginx:8080

我已经在docker-compose.yml中为我的容器指定了静态IP,并添加了额外的\u主机:

services:
  nginx:
    image: nginx
    ports:
      - "8200:80"
      - "8201:443"
    volumes:
      - .:/var/www/html
    networks:
      test:
        ipv4_address: 10.5.0.5
  php:
    build: ./docker/php
    volumes:
      - .:/var/www/html
    environment:
      APP_ENV: "dev"
    networks:
      test:
        ipv4_address: 10.5.0.6
    extra_hosts:
      - "example.com:10.5.0.5"
networks:
  test:
    driver: bridge
    ipam:
     config:
       - subnet: 10.5.0.0/16

也许,我不明白你的解决方案,但这对我不起作用。无论如何,谢谢当这个解决方案工作时,我把它改成了更简单的解决方案。在我的例子中,主机上有从example.com到nginx容器的代理,所以我只是更改了“example.com:”哪个看起来更好