相关疑难解决方法(0)

多个docker-compose项目之间的通信

docker-compose.yml在两个不同的文件夹中有两个单独的文件:

  • 〜/前/搬运工-compose.yml
  • 〜/ API /搬运工-compose.yml

如何确保容器中的容器~/front/docker-compose.yml可以向容器发送请求~/api/docker-compose.yml

我知道front可以使用api单个容器设置该选项,以便可以为此容器分配特定的IP地址,但似乎此选项在使用时不可用--default-gateway.

目前我最终做了一个docker run并查看输出中的网关.它有效,但问题是这个IP是随机归因的,所以我不能依赖它.

因此,这个问题的另一种形式可能是:

  • 我可以使用docker-compose将固定IP地址归属到特定容器吗?

但最后我要照顾的是:

  • 两个不同的docker-compose项目如何相互通信?

networking docker docker-compose

191
推荐指数
12
解决办法
10万
查看次数

使用 docker-compose 时应用程序未注册到 eureka

我拿了这个例子https://github.com/paulc4/microservices-demo并从中创建了 3 个 docker 镜像,其中包含以下 Dockerfile:

springdocker-注册:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/microservice-demo-1.1.0.RELEASE.jar app.jar
EXPOSE 1111
ENTRYPOINT exec java -jar /app.jar registration
Run Code Online (Sandbox Code Playgroud)

springdocker-帐户:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/microservice-demo-1.1.0.RELEASE.jar app.jar
EXPOSE 2222
ENTRYPOINT exec java -jar /app.jar accounts
Run Code Online (Sandbox Code Playgroud)

springdocker-web:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/microservice-demo-1.1.0.RELEASE.jar app.jar
EXPOSE 3333
ENTRYPOINT exec java -jar /app.jar web
Run Code Online (Sandbox Code Playgroud)

如果我跑了三张图片分别一切正常确定,webaccounts服务注册到registration服务(这是尤里卡注册表的实现),我可以用我的应用程序。但是,当docker-compose与以下docker-compose.yml文件一起使用时

version: "3.4"
services:
 registration:
  image: springdocker-registration
  ports:
   - "1111:1111"

 accounts:
  image: springdocker-accounts
  ports: …
Run Code Online (Sandbox Code Playgroud)

docker spring-boot docker-compose

3
推荐指数
2
解决办法
4153
查看次数

标签 统计

docker ×2

docker-compose ×2

networking ×1

spring-boot ×1