docker 部署的每个服务运行在不同的容器下,每个容器的IP都不同 可以用命令查看
docker exec -it containerid cat /etc/hosts
通讯方式:1、通过宿主机的IP和端口通讯 通讯方式2、设置自定义网络 通过容器名访问
sddm-backend:
restart: always
image: sddm/sddm-backend
container_name: sddm-backend
entrypoint: ["java","-jar","/app.jar"]
build:
context: .
dockerfile: Dockerfile
args:
- ARTIFACT_NAME=sddm-archive-0.0.1
ports:
- "8088:8088"
networks:
- sddm
- proxy
networks:
sddm:
proxy:
docker-compose up 后可以查看网络
docker network ls
服务之间可以通过容器的名字来访问 如:
http://sddm-backend:8088/api/documents/new
docker-compose.yml 里面使用已定义的网络:
networks: default: external: #使用已建立好的网络 name: backend_proxy
参考:https://juejin.im/post/5ce26cb9f265da1bcd37aa7c
来源:oschina
链接:https://my.oschina.net/lzyoo/blog/3169377