繁体   English   中英

如何从主机(Windows 机器)连接到 docker 容器

[英]How to connect to a docker container from host(windows machine)

我是 Docker 的新手。 我有一个 java 应用程序,我可以使用如下的 javaws 命令执行它。 j avaws http://localhost:9088/rtccClient/rtcc.jnlp。 我已经使用“ibmcom/websphere-liberty:latest”作为基本映像在我的窗口机器中为此应用程序创建了docker容器。 启动容器后,我正在执行相同的命令来运行应用程序,它显示“CouldNotLoadArgumentException[无法加载指定的文件/URL:http://localhost:9088/rtccClient/rtcc.jnlp]”。 下面是我的 docker 文件。 请更新我做错了什么。

**FROM ibmcom/websphere-liberty:latest
USER root
ADD ./rtcc.ear /opt/ibm/wlp/usr/servers/defaultServer/apps
ADD ./rtccClient.war /opt/ibm/wlp/usr/servers/defaultServer/apps
RUN yum -y install unixODBC
RUN yum -y install libaio
RUN mkdir -pv /basic
COPY ./basicinstaclient/oracle-instantclient19.8-basic-19.8.0.0.0-   1.x86_64.rpm /basic/
RUN rpm -i /basic/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm
EXPOSE 9088
EXPOSE 9450**

当我检查 docker 容器 id 时,ip 显示为“172.18.0.3”,容器的端口为 9080。在我在 javaws 命令中提到的 jnlp 文件中,我应该使用 ip 和端口。 我需要放置容器的ip和端口吗? 所以我使用了 "javaws http://172.18.0.3:9080/rtccClient/rtcc.jnlp" 仍然没有用。 我什至用我的windows机器IP替换了。 我什至登录到容器来执行 javaws 命令。 它说找不到javaws。 请帮忙

试试这样的命令:

docker run -p 9080:9080 YOUR_IMAGE_NAME_HERE

然后再次尝试javaws http://localhost:9088/rtccClient/rtcc.jnlp

-p 将这样映射端口: host:docker从左到右将主机端口映射到 docker 内部端口。

在这里你还可以找到一个不错的 docker FROM scratch 研讨会(无耻的插件): https : //docker-from-scratch.ivonet.nl/

我按照你说的试了,这就是我得到的。 无法加载参数异常[无法加载指定的文件/URL:http://localhost:9088/rtccClient/rtcc.jnlp]

更重要的是,您在 run 命令中映射 9080:9080 并在 javaws 命令中使用 9088。 那么它将如何工作?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM