每当我跑步时:
docker-compose -f net.yaml up -d
我收到以下错误:
Creating network "twisted_static-network" with the default driver.
Creating server ... error
ERROR: for server Cannot start service tcp_server: Invalid address 192.168.1.1: It
does not belong to any of this network's subnets
ERROR: for tcp_server Cannot start service tcp_server: Invalid address
192.168.1.1: It does not belong to any of this network's subnets
ERROR: Encountered errors while bringing up the project.
我已经尝试过:
prune
docker 网络,但问题永远不会改变。
version: '3'
services:
tcp_server:
image: twisted_tcp:1.0
container_name: server
environment:
- LOCAL_IP=192.168.1.1
ports:
- 5679:5678
privileged: true
volumes:
- ./twisted_server.py:/run/twisted_server.py
command: >
bash -c pip3 install twisted
&& "python3 twisted_server.py"
networks:
static-network:
ipv4_address: 192.168.1.1
tcp_client:
image: twisted_tcp:1.0
depends_on:
- tcp_server
container_name: client
environment:
- LOCAL_IP=192.168.1.2
ports:
- 5680:5678
privileged: true
volumes:
- ./twisted_client.py:/run/twisted_client.py
command: >
bash -c pip3 install twisted
&& "python3 twisted_client.py"
networks:
static-network:
ipv4_address: 192.168.1.2
networks:
static-network:
ipam:
config:
- subnet: 192.168.0.0/24
gateway: 192.168.0.1
它也应该适用于 192.168.1.0/24。问题是配置中的 IP 分配超出了子网范围。
问题最终变成了
-subnet
中的
net.yaml
-subnet: 192.168.0.0/24
-subnet: 192.168.0.0/16
然后就可以了!
始终尝试从指定的网络提供 IP。它对我来说效果很好,请检查下面
我的网络是
# docker network create --subnet 198.168.10.0/24 --driver bridge prod
341a36aaf31d71d5fdf2721c94a429a70fd5ae60f083d6b7a72f71916393534f
因此,从上面的命令可以清楚地看出,我们需要从我们的网络中分配IP,即
198.168.10.0/24
# docker run -d --name=web10 --network prod --ip 198.168.10.10 nginx
ed8a251ad65f5ac9576d613bb66d33e47ffbbca8cee7ef7cb8681bedb1ea7c81