我在我的 Windows 机器上创建了一个 Oracle Linux VM (ipAddr 192.168.10.2)。
在这个 VM 上,我进一步创建了一个 kvlite docker 容器。
在 Dockerfile 以下是 CMD 发出的:
CMD ["java", "-jar", "lib/kvstore.jar", "kvlite"]
创建 kvlite docker 容器后,我在 VM 上运行以下命令:
$ docker run --name nosql-container -d kvlite:latest
$ docker exec -it nosql-container bash
在容器 bash 提示符下,我尝试使用以下命令ping 我的客户端(但使用 VM IpAddress 而不是 localhost):
# java -jar lib/kvstore.jar ping -port 5000 -host 192.168.10.2
然而,这会引发异常
拿起_JAVA_OPTIONS:-Djava.security.egd=file:/dev/./urandom
无法连接到 192.168.10.2:5000 处的注册表 嵌套异常是:
java.rmi.ConnectException:连接拒绝主机:192.168.10.2;嵌套异常是:
java.net.ConnectException:连接被拒绝
找不到存储拓扑:无法联系任何 RepNode:[192.168.10.2:5000]
-host
但是,当我改用as时,一切都很好localhost
,
# java -jar lib/kvstore.jar ping -port 5000 -host localhost
为了解决这个问题,我尝试了以下操作:
我停止了我的 kvlite docker 容器
config.xml ($KVROOT/config.xml)
将值更改hostname
为IpAddress
重新启动我的 kvlite docker 容器,但这没有帮助,容器无法启动
接下来,我尝试为在 CMD 下发出的 kvlite 重新创建一个新的 docker 映像:
CMD ["java", "-jar", "lib/kvstore.jar", "kvlite", "-host", "192.168.10.2", "-port", "5000"]
但是在这里,当我尝试启动 kvlite docker 容器时,它也没有启动。
我什至验证了我的/etc/hosts
文件以输入 IpAddress- 192.168.10.2
。
提前感谢任何帮助。