Docker compose无法启动已在使用的服务地址?
由于某些原因,Docker compose无法启动已在使用的服务地址?,docker,docker-compose,gogs,Docker,Docker Compose,Gogs,由于某些原因,docker compose不喜欢以下配置中gogs容器的地址203.0.113.1。请注意,在下面的示例中,我在203.0.113.3上运行GOG,但如果我将其更改为203.0.113.1,则消息: 错误:对于f1d322793d47_docker_gogs_1,无法启动服务gogs:地址已在使用中 我已检查确保没有使用ip地址203.0.113.1的容器正在运行,因此我很好奇docker compose是否出于某种原因一般不允许该地址 version: '3'
docker compose
不喜欢以下配置中gogs容器的地址203.0.113.1
。请注意,在下面的示例中,我在203.0.113.3
上运行GOG,但如果我将其更改为203.0.113.1
,则消息:
错误:对于f1d322793d47_docker_gogs_1,无法启动服务gogs:地址已在使用中
我已检查确保没有使用ip地址203.0.113.1
的容器正在运行,因此我很好奇docker compose
是否出于某种原因一般不允许该地址
version: '3'
services:
gogs-nginx:
build: ./nginx
ports:
- "80:80"
networks:
mk1net:
ipv4_address: 203.0.113.2
gogs:
image: gogs/gogs
ports:
- "3000:3000"
volumes:
- gogs-data:/data
depends_on:
- gogs-nginx
networks:
mk1net:
ipv4_address: 203.0.113.3
volumes:
gogs-data:
external: true
networks:
mk1net:
ipam:
config:
- subnet: 203.0.113.0/24
在网络中有三个IP,通常为特定任务保留 0用作网络地址。1用作地址,255用作广播地址 如果一个容器想要与同一网络中的另一个容器通信,他可以直接与他交谈。当他想与网络之外的其他IP通信时,他会将请求发送到网关地址,并希望网关知道如何路由该地址 要查看这一点,您可以检查docker容器并检查其IPAddress附近的网关属性 或者使用ifconfig(Linux)搜索与您创建的网络具有相同id的网络。该网络将具有IP 203.0.113.1 因此,您的IP已被网络网关使用 在docker compose版本2中,存在更改网关和广播ip的方法
对于版本3,当前似乎不支持。您能否尝试在gogs中设置端口设置,如下面的
-“3000:3000”
?我添加了端口映射(并更新了问题)-仍然得到相同的结果…“地址已在使用”通常意味着服务已经在运行。实际上,除了docker ps
之外,没有显示它正在运行。。。当我改变ip地址时它就开始了。。。除了现在卷没有映射。。。