1、部署eureka程序
创建镜像
docker build -t lyq/eureka-server .
运行镜像
docker run -d -p 8761:8761 --name eureka-server lyq/eureka-server
2、部署demo程序
创建镜像
docker build -t lyq/server-demo .
运行镜像
docker run -d -p 8081:8081 --name server-demo lyq/server-demo
3、部署order程序
创建镜像
docker build -t lyq/server-order .
运行镜像
docker run -d -p 8181:8181 --name server-order lyq/server-order
docker inspect -f {{.Id}} a3107a17c541
cd /var/lib/docker/aufs/mnt/a3107a17c541ee82bea56f4ce8308117a244c2991a8660b98c13889d79eb9456
测试feign调用时报错找不到域名,后发现是要修改hosts文件,进入order容器路径,把ip给加上
访问http://117.48.215.66:8761/ 可以看到当前的服务注册信息,demo的主机域名是82ff2cee8b23
Application | AMIs | Availability Zones | Status |
---|---|---|---|
SERVICE-DEMO | n/a (1) | (1) | UP (1) - 82ff2cee8b23:service-demo:8081 |
SERVICE-ORDER | n/a (2) | (2) | UP (2) - a3107a17c541:service-order:8181 |
cd /var/lib/docker/aufs/mnt/a3107a17c541ee82bea56f4ce8308117a244c2991a8660b98c13889d79eb9456/etc
vim hosts
把以下内容加上
117.48.215.66 82ff2cee8b23
这样,order调用service-demo时,就能访问到了
可以看出,docker每个容器就像是一个单独的系统,连主机名字都不一致,这样相互调用起来,要修改hosts文件的确有些麻烦,后续看有没有更好的方案。