问题标签 [docker-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
56 浏览

docker - 我无法从 Jenkins Docker Containers 卷曲到我的已部署应用程序

我在本地机器上部署了以下容器:

  • student-app:是我的测试应用
  • karson-jenkins:是我的第一个 jenkins,它使用已发布的 localhost ip 和端口 8082 以及 docker 网络作为桥接器运行
  • karson-jenkins-host:是我的第二个 jenkins,它以 docker 网络作为主机运行 在此处输入图像描述

我能够从浏览器成功启动并导航到我的被测应用程序 (AUT) 和 Jenkins 站点,如下所示: 在此处输入图像描述 在此处输入图像描述

我的问题是我无法从使用已发布 IP 和映射端口 8082 运行的 Jenkins 容器中卷曲到我的应用程序 url,尽管它与我的应用程序属于同一个网络并且 docker 网络是Bridge,这使得我发送了 api 请求对詹金斯作业执行测试时应用程序收到错误连接被拒绝

在此处输入图像描述

在此处输入图像描述

我还尝试使用--network=hostindocker run命令为 jenkins 运行另一个 docker 容器,并且我能够卷曲到我的 AUT url。但另一个问题是我无法找到任何方法来访问我运行的 jenkin url docker network host。我试图导航到http://host.docker.internal:8080/http://host.docker.internal/但他们都没有成功 在此处输入图像描述

在此处输入图像描述

您的任何帮助,以帮助我澄清我的问题并解决它,我确实将非常感激。

0 投票
0 回答
31 浏览

java - 访问在 docker 容器中运行的命令的输出

我正在尝试从 docker-java 0.10.3 升级到 3.2.7。这条线让我完全难过:

我设法通过将其更改为来解决第一个错误

(但我的 IDE 说不AttachContainerResultCallback推荐使用。)问题是.exec()用于返回InputStream. 现在它返回一个void. 我需要InputStream, 因为在容器中运行的命令的输出需要找到它到屏幕的方式。这需要是实时的,因为用户需要在命令运行时看到它们的输出;我不能只在最后复制一个文件。

我怎样才能掌握这个InputStream


错误是:

0 投票
1 回答
90 浏览

java - 测试容器无法配置端口绑定

我正在使用 testcontainer 版本1.15.2。测试在 Windows 10 上的 intellij 中运行。我有一个wiremock 容器。默认情况下,它侦听端口8080。我想将这个端口映射到让我们说8081。所以我这样做:

创建容器时,它会侦听随机端口,而不是8081[1]。我究竟做错了什么 ?我应该怎么做才能让容器监听8081而不是随机端口?

[1]

  1. 我有另一个容器尝试连接http://wiremock:8081并不断获取Connection refused
  2. 当我添加时:.waitingFor((...)forPort(8081)(...)));发生超时。
0 投票
0 回答
77 浏览

java - Docker:交互和非交互模式下不同的java版本

这是我的 Dockerfile

RUN java -versionjava 8

在交互模式 ( docker run --rm -it <image-id>) 中,它显示java 11

RUN /bin/bash -c "source /root/.sdkman/bin/sdkman-init.sh; java -version"在 Dockerfile 中使用会提供java 11

为什么 ?什么可以解释这些行为之间的差异?用 apt-get 安装 java 11 不会出现这个问题,默认的 java 版本无论如何都会变成 11。

0 投票
1 回答
38 浏览

docker - docker-Java 停止超时

我从这里使用 java-docker 客户端:https ://github.com/docker-java/docker-java 。我试图弄清楚如何为 docker stop 命令设置停止超时。

所以我在java中使用了这个方法dockerClient.stopContainerCmd(containerId)).exec();,但是没有停止超时的选项,就像docker cli提供的那样。也许有人已经解决了这个问题或有一个想法?:-)

0 投票
1 回答
41 浏览

java - 在 java 中运行 Docker 命令

我试图在docker trough java中运行这个命令,但我不知道为什么它只在我在主机中执行命令而不是通过java时才有效(在java上执行时它不会添加或什么都不说) . 我 99% 确定问题是回声的“>>”,但我不知道如何解决它。