docker compose: ограничение доступа в Интернет

#docker #docker-compose #traefik

Вопрос:

Я хочу работать с контейнером, который является копией производственного контейнера, поэтому я хочу ограничить доступ к Интернету, чтобы предотвратить этот вызов производственных серверов. Но мне нужно получить доступ к контейнеру с хост-машины с доступом в Интернет

Это то, что я пытаюсь сделать:

 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
 

Но конфигурация трафика не работает для меня.

Каков наилучший вариант для этого? ответы, которые я нашел, не учитывают доступ с хост-машины, контейнер без Интернета изолирован

Я ценю любой совет