【发布时间】:2019-08-20 23:13:20
【问题描述】:
我有 2 个应用程序在不同的网络上运行,它使用单独的 docker-compose.yaml。所以我尝试从应用 A 向应用 B 调用请求,但它不起作用。
docker exec -it app_a_running curl http://localhost:8012/user/1
所以我遇到了一个错误
cURL error 7: Failed to connect to localhost port 8012
docker-compose-app-a.yaml
version: "3"
services:
app:
build: go/
restart: always
ports:
- 8011:8011
volumes:
- ../src/app:/go/src/app
working_dir: /go/src/app
container_name: app-a
command: sleep 72000
networks:
- app-a-network
networks:
app-a-network:
docker-compose-app-b.yaml
version: "3"
services:
app:
build: go/
restart: always
ports:
- 8012:8012
volumes:
- ../src/app:/go/src/app
working_dir: /go/src/app
container_name: app-b
command: sleep 72000
networks:
- app-b-network
networks:
app-b-network:
问题:
- 可以这样做吗?
- 如果第一个问题是可能的,请给我建议:)
【问题讨论】:
-
可以使用 curl,错误本身表明 curl 尝试连接成功但端口已关闭。一件事虽然你不能使用 localhost 来尝试卷曲不同的容器。
-
如果它解决了您的问题,请接受答案。将来会帮助其他人。
标签: docker docker-compose docker-networking docker-network