Docker-compose 在网络模式下提供静态 IP:桥接



我只是尝试给这个容器一个静态IP 172.17.0.44,就像这样,

但它不起作用,

如何使用"network_mode:桥接"给出静态 IP 地址

因为我需要为此容器提供 172.17.0 系列 IP

当我放置网络模式网桥时,我得到了这个 172.17.0 系列 IP

version: '2.1'
services:
mysql_db:
image: mysql:latest
network_mode: bridge
ipv4_address: 172.17.0.44
volumes:
- "./.mysql-data/_data:/var/lib/mysql"
restart: always
ports:
- 8555:8110
environment:
MYSQL_ROOT_PASSWORD: rootpass123
MYSQL_DATABASE: testing
MYSQL_USER: test
MYSQL_PASSWORD: test

已经有一个具有 172.17 系列 IP 的网络,因此我希望使用默认桥接网络加入容器并获得静态 IP

您还需要指定要创建的网络:

version: '2.1'
services:
mysql_db:
image: mysql:latest
networks:
db:
ipv4_address: 172.17.0.44
volumes:
- "./.mysql-data/_data:/var/lib/mysql"
restart: always
ports:
- 8555:8110
environment:
MYSQL_ROOT_PASSWORD: rootpass123
MYSQL_DATABASE: testing
MYSQL_USER: test
MYSQL_PASSWORD: test
networks:
db:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.17.0.0/24

欲了解更多信息: https://docs.docker.com/compose/networking/

您的 yaml 中存在错误ipv4_address因为network_mode的键

。您想要的是以下内容:

network_mode: bridge
networks:
default:
ipv4_address:

如果未指定任何内容,则创建default网络。

最新更新