docker 如何更改码头默认网络?

zbq4xfa0  于 2023-02-15  发布在  Docker
关注(0)|答案(3)|浏览(104)

我创建了一个新的Docker网络(macvlan https://docs.docker.com/engine/userguide/networking/get-started-macvlan/
在创建新容器时,如何告诉Docker使用这个网络作为默认值(而不是网桥)呢?我想为每个新容器节省--net。

doinxwow

doinxwow1#

如果你使用docker-compose,你可以在yml-文件中使用networks-key,下面指定mongo使用“pinguine”作为默认网络:

version: '3.1'
services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
    networks:
      - project-network

networks:
  project-network:
    name: pinguine
xoefb8l8

xoefb8l82#

创建或编辑文件/etc/docker/daemon.json并添加以下配置。

{
    "bridge": "my_network"
}

这样,默认情况下将使用my_network

zf9nrax1

zf9nrax13#

Docker提供了不同的网络驱动程序,如网桥、主机、覆盖和macvlan。网桥是默认的。
要更改默认网络驱动程序:

  • 编辑或创建Docker守护程序的配置文件:
# nano /etc/docker/daemon.json

添加行:

{
  "default-address-pools":
    [
      {"base":"10.10.0.0/16","size":24}
    ]
}

重启dockerd:

# service docker restart
  • 通过在docker network create命令中使用--driver或-d参数,使用新网络驱动程序创建新网络
  • 使用--network参数运行Docker映像以使用新创建的网络。
$ docker network create foo
$ docker network inspect foo | grep Subnet
            "Subnet": "10.10.1.0/24"

相关问题