我docker-compose.yml在两个不同的文件夹中有两个单独的文件:
如何确保容器中的容器~/front/docker-compose.yml可以向容器发送请求~/api/docker-compose.yml?
我知道front可以使用api单个容器设置该选项,以便可以为此容器分配特定的IP地址,但似乎此选项在使用时不可用--default-gateway.
目前我最终做了一个docker run并查看输出中的网关.它有效,但问题是这个IP是随机归因的,所以我不能依赖它.
因此,这个问题的另一种形式可能是:
但最后我要照顾的是:
我拿了这个例子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)
如果我跑了三张图片分别一切正常确定,web和accounts服务注册到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)