docker集装箱之间的连接
- 我有一个docker-compose.yml,我创build了2个容器A和B.
- B是一个运行在端口8000上的web服务器,在我的docker-compose文件中我公开了8000端口
- A在我的docker-compose-file中有一个到B的链接。
但是当我在B上发出一个GET请求时,我得到一个错误:
GET http:// localhost:8000 dial tcp 127.0.0.1:8000拒绝
我该如何解决这个问题?
docker-compose ps只是告诉我这个端口是8000 / tcp
你能告诉我们你的docker-compose.yml文件吗? 用于两个容器之间链接的名称实际上创build了一个别名来连接,就像localhost
是127.0.0.1
的别名一样: https : //docs.docker.com/compose/yml/#links
所以你不应该在你的GET请求中通过localhost
连接。 而是使用链接中使用的名称服务B,并使用后面的端口。 下面是一个具有相应GET请求url的示例configuration文件:
泊坞窗,compose.yml:
service_a: image: service_a_image ports: - 7000 # maps port to host links: - service_b service_b: image: serivce_b_image expose: - 8000 # exposes port to other containers
从服务A获取URL到B:
http://service_b:8000
希望这可以帮助!