docker自定义ip有两种方式:
使用外部的子网,在外部子网里面自定义IP地址
docker-compose.yaml里面自定义子网,然后在自定义子网里面创建IP地址
1. 使用外部的网络
a. 创建一个外部的桥接网络
docker network create --subnet=100.100.100.0/24 --opt com.docker.network.bridge.name=mopler mopler
--subnet=100.100.100.0/24
这个参数指定了新网络的子网。这里指定的子网是100.100.100.0,而/24表示子网掩码,它定义了子网中可用的IP地址范围。在这个例子中,它意味着子网可以包含100.100.100.0到100.100.100.255的IP地址。
--opt com.docker.network.bridge.name=mopler
这个参数是为网络设置一个特定的选项。在这里,它被用来设置Docker网络的桥接名称为mopler。默认情况下,Docker创建的桥接网络会有一个自动生成的名字,但使用这个选项可以指定一个更易记的名字。
最后的一个mopler
这是新创建的网络的名称。在Docker中,你可以使用这个名字来引用这个网络,例如在运行容器时将其附加到这个网络。
b. 使用示例
---
services:
alist:
image: xhofe/alist:latest
container_name: alist
networks:
mopler:
ipv4_address: "100.100.100.2"
volumes:
- ./config:/opt/alist/data
ports:
- "127.0.0.1:5244:5244"
restart: unless-stopped
networks:
mopler:
external: true
2. 使用内部创建自定义网络
a. 使用示例
---
services:
alist:
image: xhofe/alist:latest
container_name: alist
networks:
mopler:
ipv4_address: "100.100.100.2"
volumes:
- ./config:/opt/alist/data
ports:
- "127.0.0.1:5244:5244"
restart: unless-stopped
networks:
mopler:
ipam:
config:
- subnet: 100.100.100.0/24
networks: 这是一个顶级关键字,用于定义一个或多个网络。
mopler: 这是网络的名称,这里定义了一个名为mopler的网络。
ipam: 这是一个子关键字,用于定义IP地址管理相关的配置。
config: 这是一个子关键字,用于配置IPAM的具体细节。
subnet: 100.100.100.0/24: 这里定义了一个子网为100.100.100.0/24的配置。
这意味着在mopler网络中,将使用100.100.100.0/24子网的IP地址范围来分配IP地址给容器。
评论区