Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker compose:限制internet访问_Docker_Docker Compose_Traefik - Fatal编程技术网

docker compose:限制internet访问

docker compose:限制internet访问,docker,docker-compose,traefik,Docker,Docker Compose,Traefik,我想使用生产容器的副本运行容器,因此我想限制对internet的访问,以防止调用生产服务器。 但是我需要通过internet访问主机访问容器 这就是我想做的: version: '2.1' services: proxy: image: traefik command: --api.insecure=true --providers.docker networks: - no-internet - internet ports:

我想使用生产容器的副本运行容器,因此我想限制对internet的访问,以防止调用生产服务器。 但是我需要通过internet访问主机访问容器

这就是我想做的:

version: '2.1'
services:

  proxy:
    image: traefik
    command: --api.insecure=true --providers.docker
    networks:
      - no-internet
      - internet
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock


  prod-service:
    image: ....
    depends_on:
      - db
    ports:
     - "8094:8094"
    labels:
      - "traefik.http.routers.blog.rule=Host(`localhost`)"
      - "traefik.port=8094"
    networks:
     - no-internet


  db:
    container_name: db
    image: postgres:11
    hostname: ap-db
    expose:
     - 5433
    ports:
     - 5433:5432
    environment:
     - POSTGRES_USER=postgres
     - POSTGRES_PASSWORD=postgres
    networks:
     - no-internet
     - internet

networks:
  internet:
    driver: bridge
  no-internet:
    internal: true
    driver: bridge
但是交通配置不适合我

这样做的最佳选择是什么? 我找到的答案没有考虑主机的访问,没有internet的容器是隔离的

谢谢你的建议