【问题标题】:Create Docker Network in docker-compose.yml or dockerfile在 docker-compose.yml 或 dockerfile 中创建 Docker 网络
【发布时间】:2018-05-28 21:34:01
【问题描述】:

我的 docker 服务需要网络才能正常工作。我打算分享我的撰写文件,但我不想每次都手动创建具有正确参数的网络。

我希望在构建过程中,在 Dockerfile 或 docker-compose 文件中创建网络。

【问题讨论】:

  • 你知道吗 docker stack deploy --compose-file=docker-compose.yml servicename 默认会创建一个网络。需要 docker-compose 3.0 版
  • 我不知道,谢谢。但它并不能真正帮助我,因为我需要一个具有外部访问权限的网络才能访问我的一些服务。使用容器名称/图像访问我的服务在应用程序中根本不起作用,这就是我创建网络的原因。
  • swarm manager 的 ip 可以从外部访问,并将端口路由到工作节点上的容器。所以,你可以只给一个 ip 来统治他们。

标签: docker-compose containers dockerfile docker-networking docker-network


【解决方案1】:

我认为您不能在 Dockerfile 中创建网络,但您可以在 docker-compose.yml 文件中创建网络。

您是否看过 Docker Compose 中的网络?

您可以使用docker-compose.yml 文件中的networks 键指定您自己的网络。这使您可以创建自定义网络并指定自定义网络驱动程序和选项。

docker-compose.yml 文件中的每个服务都可以使用服务级别 networks 键指定要连接的网络。

这是来自Compose docs的示例

version: "3"
services:
  proxy:
    build: ./proxy
    networks:
      - frontend
  app:
    build: ./app
    networks:
      - frontend
      - backend
  db:
    image: postgres
    networks:
      - backend

networks:
  frontend:
    # Use a custom driver
    driver: custom-driver-1
  backend:
    # Use a custom driver which takes special options
    driver: custom-driver-2
    driver_opts:
      foo: "1"
      bar: "2"

【讨论】:

    猜你喜欢
    • 2017-03-12
    • 2022-07-20
    • 2020-08-02
    • 2023-04-04
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多