docker集装箱之间的连接

  1. 我有一个docker-compose.yml,我创build了2个容器A和B.
  2. B是一个运行在端口8000上的web服务器,在我的docker-compose文件中我公开了8000端口
  3. 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了一个别名来连接,就像localhost127.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 

希望这可以帮助!