两个Java项目之间的通信_两个容器之间的Docker通信与Java

本文介绍了一个具体的案例,即如何在一个Docker环境中实现PHP容器与Java容器之间的连接与交互。通过详细展示环境变量及尝试访问Java容器的过程,讨论了容器间的通信问题,并提出可能的解决方案。

我没有在任何帖子上找到答案.

我在容器上使用带有PHP项目的容器,该容器工作正常.我想链接在另一个容器上启动的Java.

我使用“java:8”图像配置如下:

engine:

build: ./docker/engine/

volumes:

- ".:/home/docker:rw"

- "./docker/engine/PHP.ini:/usr/local/etc/PHP/conf.d/custom.ini:ro"

links:

- "db:db"

- "java:java"

working_dir: "/home/docker"

java:

image: java:8

tty: true

ports:

- "999:999"

在我的docker PHP容器(调用“引擎”)上,我有这个环境变量.

JAVA_1_ENV_CA_CERTIFICATES_JAVA_VERSION=20140324

JAVA_1_ENV_JAVA_DEBIAN_VERSION=8u72-b15-1~bpo8+1

JAVA_1_ENV_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

JAVA_1_ENV_JAVA_VERSION=8u72

JAVA_1_ENV_LANG=C.UTF-8

JAVA_1_NAME=/recetteetudiant_engine_1/java_1

JAVA_1_PORT=tcp://172.17.0.3:999

JAVA_1_PORT_999_TCP=tcp://172.17.0.3:999

JAVA_1_PORT_999_TCP_ADDR=172.17.0.3

JAVA_1_PORT_999_TCP_PORT=999

JAVA_1_PORT_999_TCP_PROTO=tcp

JAVA_ENV_CA_CERTIFICATES_JAVA_VERSION=20140324

JAVA_ENV_JAVA_DEBIAN_VERSION=8u72-b15-1~bpo8+1

JAVA_ENV_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

JAVA_ENV_JAVA_VERSION=8u72

JAVA_ENV_LANG=C.UTF-8

JAVA_NAME=/recetteetudiant_engine_1/java

JAVA_PORT=tcp://172.17.0.3:999

JAVA_PORT_999_TCP=tcp://172.17.0.3:999

JAVA_PORT_999_TCP_ADDR=172.17.0.3

JAVA_PORT_999_TCP_PORT=999

JAVA_PORT_999_TCP_PROTO=tcp

RECETTEETUDIANT_JAVA_1_ENV_CA_CERTIFICATES_JAVA_VERSION=20140324

RECETTEETUDIANT_JAVA_1_ENV_JAVA_DEBIAN_VERSION=8u72-b15-1~bpo8+1

RECETTEETUDIANT_JAVA_1_ENV_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

RECETTEETUDIANT_JAVA_1_ENV_JAVA_VERSION=8u72

RECETTEETUDIANT_JAVA_1_ENV_LANG=C.UTF-8

RECETTEETUDIANT_JAVA_1_NAME=/recetteetudiant_engine_1/recetteetudiant_java_1

RECETTEETUDIANT_JAVA_1_PORT=tcp://172.17.0.3:999

RECETTEETUDIANT_JAVA_1_PORT_999_TCP=tcp://172.17.0.3:999

RECETTEETUDIANT_JAVA_1_PORT_999_TCP_ADDR=172.17.0.3

RECETTEETUDIANT_JAVA_1_PORT_999_TCP_PORT=999

RECETTEETUDIANT_JAVA_1_PORT_999_TCP_PROTO=tcp

Ping命令工作正常.但是我怎么能用java呢?我尝试使用该命令

root@639144f7c95f:/home/docker# echo $JAVA_1_PORT$RECETTEETUDIANT_JAVA_1_ENV_JAVA_HOME

tcp://172.17.0.3:999/usr/lib/jvm/java-8-openjdk-amd64

root@639144f7c95f:/home/docker# /recetteetudiant_engine_1/java_1

bash: /recetteetudiant_engine_1/java_1: No such file or directory

root@639144f7c95f:/home/docker# $JAVA_1_PORT$RECETTEETUDIANT_JAVA_1_ENV_JAVA_HOME

bash: tcp://172.17.0.3:999/usr/lib/jvm/java-8-openjdk-amd64: No such file or directory

root@639144f7c95f:/home/docker#

也许我必须分享一卷?我可以通过TCP协议使用Java吗?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值