Krz*_*zak 7 networking curl vagrant docker docker-compose
我在本地设置了 2 个应用程序。一个 (app_v) 在 vagrant 上运行,我可以在浏览器上使用http://192.168.50.5:3000/访问它。
第二个 (app_d) 在 docker-compose 上运行,我可以在浏览器上使用http://192.168.50.6:3000/访问它 。
问题是,他们似乎没有完全看到对方。我通过 ssh 进入我的 app_v 流浪机器。我跑:
ping on 192.168.50.6
Run Code Online (Sandbox Code Playgroud)
它有效。但是使用卷曲:
curl http://192.168.50.6:3000/
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)
重要的是:大约 30 秒后出现错误。如果我将端口更改为错误的内容,例如 9999,则会立即显示错误。
其他要点:
app_v 的 Vagrantfile 网络部分:
config.vm.network 'public_network', ip: '192.168.50.5'
config.vm.network 'forwarded_port', guest: 3000, host: 8080
config.vm.network 'forwarded_port', guest: 5432, host: 5434
Run Code Online (Sandbox Code Playgroud)
Docker 组合 app_d 的设置:
version: '2'
services:
db:
build: docker/database
container_name: postgres
networks:
app_net:
ipv4_address: 192.168.50.10
ports:
- "5436:5432"
app:
build: .
container_name: app_d
networks:
app_net:
ipv4_address: 192.168.50.6
volumes:
- .:/app
ports:
- "8086:3000"
- "2226:22"
links:
- db
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.50.0/24
gateway: 192.168.50.1
Run Code Online (Sandbox Code Playgroud)
你有什么想法为什么我不能连接它们吗?
编辑 我已经缩小了一点。如果我使用,它会按预期工作:
config:
- subnet: 172.20.0.0/16
ip_range: 172.28.5.0/24
Run Code Online (Sandbox Code Playgroud)
和 172.20.128.3 作为 IP。我可以通过 curl 通过 172.20.128.3:3000 访问服务器。那么那个特定的 IP 或子网有什么问题呢?
归档时间: |
|
查看次数: |
593 次 |
最近记录: |