我的两台弹簧启动应用程序在本地计算机上有两个docker容器
我必须向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
答案 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
在此示例中,两个容器可以按名称相互引用。