我有一个非常简单的领事和管理员在我的机器上进行运行。 我可以查询在领事馆注册的服务列表,但我无法使用http拨打其他服务。
docker-compose:
users = firebaseDatabase.getReference("users");
posts = firebaseDatabase.getReference("posts");
comment = firebaseDatabase.getReference("comments");
comment.child(postId).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()) {
Comment comment = child.getValue(Comment.class);
users.child(comment.getUserId()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
postComments.setUsername(user.getFullName());
}
@Override
public void onCancelled(DatabaseError databaseError) {
onDataLoaded.onFail(databaseError.getMessage());
}
});
postComments = new PostComments();
postComments.setCommentId(child.getKey());
postComments.setComment(comment.getComment());
postComments.setDate(comment.getDate());
commentsList.add(postComments);
}
onDataLoaded.onSuccess(commentsList);
}
@Override
public void onCancelled(DatabaseError databaseError) {
onDataLoaded.onFail(databaseError.getMessage());
}
});
我尝试使用axios,但听起来它没有使用配置的DNS。 我再一次设法获得了我的服务列表。所以我可以注册一个服务,我可以使用consul.agent获取服务,DNS解析也可以。但是来电并不起作用。我得到了ENOTFOUND
version: '2.1'
services:
consul:
image: gliderlabs/consul:latest
command: "agent -server -data-dir /tmp/consul -bootstrap -ui -client=0.0.0.0"
ports:
- 8500:8500
- 8600:8600
- 8400:8400
networks:
app_net:
ipv4_address: 172.28.0.10
registrator:
image: gliderlabs/registrator:latest
command: "consul://consul:8500"
depends_on:
- consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock
networks:
- app_net
service1:
image: solive/service1
ports:
- 3000
depends_on:
- consul
- registrator
networks:
- app_net
service2:
image: solive/service2
ports:
- 4000
depends_on:
- consul
- registrator
networks:
- app_net
networks:
app_net:
ipam:
driver: default
config:
- subnet: 172.28.0.0/16
答案 0 :(得分:0)
您还没有提到您在Consul中注册的您尝试访问的服务的IP地址是什么。我怀疑registrator没有注册你在app_net网络中预期的ips,这就是为什么它不适合你。如果是这样的话,请检查registrator的文档如何操作已注册的IP地址或使用其他方法向Consul注册服务。