【问题标题】:How to connect to a docker container from host(windows machine)如何从主机(Windows 机器)连接到 docker 容器
【发布时间】:2020-09-10 14:15:05
【问题描述】:

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

**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 dockerfile docker-machine


    【解决方案1】:

    试试这样的命令:

    docker run -p 9080:9080 YOUR_IMAGE_NAME_HERE
    

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

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

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

    【讨论】:

      【解决方案2】:

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

      更多的是在运行命令中映射 9080:9080 并在 javaws 命令中使用 9088。那么它是如何工作的呢?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-06
        • 1970-01-01
        • 2016-05-29
        • 1970-01-01
        • 2016-01-25
        • 2018-01-09
        • 2017-05-14
        • 1970-01-01
        相关资源
        最近更新 更多