docker-compose 如何加入固定网桥并指定静态 ip

2021-11-05 11:25:11 +08:00
 brucmao

缘由: 我想在 nas 中用 docker 创建 qbittorrent 容器,并指定一个 ip,然后路由器设置这个 ip 走直连

1 、先创建 bridge-host 网络,参考的这里

docker network create -d macvlan --subnet=10.10.10.0/24 --gateway=10.10.10.10 -o parent=ovs_eth0 bridge-host

2 、创建 qbittorrent 容器并加入 bridge-host 网络,docker-compose 如下

version: '3'

services:
  qbittorrent:
    image: linuxserver/qbittorrent:14.2.3.99202004172232-6962-29e9594ubuntu18.04.1-ls73
    container_name: qbittorrent
    restart: always
    network_mode: bridge-host
    ports:
      - 8080:8080
      - 53168:53168/udp
      - 53168:53168
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Asia/Shanghai
      UMASK_SET: 022
      WEBUI_PORT: 8080
    volumes:
      - /path/to/config:/config
      - /path/to/downloads:/downloads

怎么给这个容器指定一个静态 ip,我试过下面的方法

version: '3'

services:
  qbittorrent:
    image: linuxserver/qbittorrent:14.2.3.99202004172232-6962-29e9594ubuntu18.04.1-ls73
    container_name: qbittorrent
    restart: always
    networks:
        bridge-host:
          ipv4_address: 10.10.10.102
    ports:
      - 8080:8080
      - 53168:53168/udp
      - 53168:53168
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Asia/Shanghai
      UMASK_SET: 022
      WEBUI_PORT: 8080
    volumes:
      - /path/to/config:/config
      - /path/to/downloads:/downloads
      
networks:
  bridge-host:
    ipam:
      config:
        - subnet: "10.10.10.0/24"

这样并不会成功,这样会创建 qbittorrent_bridge_host 网络,并且会失败,因为已经存在 10.10.10.0 这样子网了,

不过 docker 倒是可以启动的时候指定 ip

docker run -itd --restart=always --network bridge-host --ip=10.10.10.102 --name qbittorrent linuxserver/qbittorrent:14.2.3.99202004172232-6962-29e9594ubuntu18.04.1-ls73

就是不知道在 docker-compose 里面怎么写

1307 次点击
所在节点    Docker
2 条回复
brucmao
2021-11-06 22:14:08 +08:00
解决了,先删除 bridge-host 网络

```
docker network rm bridge-host
```

然后 docker-compose 执行下面的

```yaml
version: '2'

services:
qbittorrent:
image: linuxserver/qbittorrent:14.2.3.99202004172232-6962-29e9594ubuntu18.04.1-ls73
container_name: qbittorrent
restart: always
networks:
macvlan:
ipv4_address: 10.10.10.102
environment:
PUID: 1000
PGID: 1000
TZ: Asia/Shanghai
UMASK_SET: 022
WEBUI_PORT: 8080
volumes:
- /path/to/config:/config
- /path/to/downloads:/downloads

networks:
macvlan:
name: macvlan
driver: macvlan
driver_opts:
parent: ovs_eth0
ipam:
config:
- subnet: 10.10.10.0/24
gateway: 10.10.10.10
```

参考

https://github.com/ericwang2006/docker_ttnode
asuraa
2021-11-11 13:51:26 +08:00
版本 3 好像不能直接 link 访问了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/813238

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX