docker链接无法正常工作

时间:2018-03-03 08:19:36

标签: docker microservices netflix-eureka

我的两台弹簧启动应用程序在本地计算机上有两个docker容器

  1. 尤里卡发现客户(发现)
  2. 我的服务(验证)
  3. 我必须向Eureka客户注册我的服务。当我在本地运行这两个Spring启动应用程序时,我能够做到这一点。但是当我创建一个图像时它没有链接。

    docker run -d -p 7070:7070 -t --name validation --link discovery docker-crst/bosng_validationsservice
    
    docker run -d -p 8761:8761 -t --name discovery docker-crst/discovery-service
    

1 个答案:

答案 0 :(得分:0)

根据docker documentation links 功能已被弃用,不应再使用。相反,创建桥接网络并将容器连接到该网络的方法应开箱即用地按名称提供docker容器引用。

默认情况下,docker创建一个名为 docker0 的网桥,该网桥由该主机上的所有容器自动加入。但是,如果您创建自己的桥接网络并将容器添加到该网络,则可以直接在它们之间按名称引用它们。在这种情况下,请参阅Docker文档:https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge

在您的情况下,这将是:

$> docker network create test01
$> docker run -d -p 7070:7070 -t --net test01 --name validation docker-crst/bosng_validationsservice
$> docker run -d -p 8761:8761 -t --net test01 --name discovery docker-crst/discovery-service

在此示例中,两个容器可以按名称相互引用。