Tag: Java

如何使用谷歌云数据存储模拟器和Java实现docker形象

我需要与谷歌云数据存储模拟器和Java应用程序创buildtestingdocker形象。 Java应用程序使用模拟器来存储testing数据。 我应该如何创build这个图像? 我应该使用从openjdk:8或从谷歌/云sdk:最新?

谷歌数据存储连接两个容器时需要身份validation

将两个容器相互连接后 以下命令用于运行与数据存储容器链接的dropWizard容器 docker run -p 8080:8080 –name dropwizard –link googledatastore:googledatastore dropwizard 我用来运行数据存储的命令是 docker run -h gdatastore -p 8000:8000 google/cloud-sdk gcloud beta emulators datastore start –project=test1 –host-port gdatastore:8000 –no-store-on-disk 他们都正确运行 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2faa2627c1fe dropwizard "java -jar hello-d…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, 8081/tcp, 0.0.0.0:6060->8080/tcp dropwizard 00186af090b8 google/cloud-sdk "gcloud […]

获取docker集装箱的IP

我在Java中使用Docker API,我试图从容器中获取IP, 但它返回null Btw,连接和一切正常。 这只是这行代码没有 String containerIP = dockerClient.connectToNetworkCmd() .withContainerId("2315f8792fdf") .getContainerConfig().getIpAddress(); 如果我做sudo docker inspect 2315f8792fdf 我有一个IP "IPAddress": "172.17.0.3" 编辑:我得到这个: https : //gyazo.com/6373af383de9a64f0cd1c9df1fd71da7 任何帮助? `

CI与Gitlab打破与java.lang.NoClassDefFoundError:com /谷歌/注射/ util /提供者

我使用Gitlab来testingCI。 我selectDocker Gitlab-Runners。 它工作了好几个星期,但突然间,它打破了它的工作 [0KRunning with gitlab-runner 10.0.0 (2055cfdc) on runner ubu 003 (60d888e2) [0;m[0KUsing Docker executor with image maven:3-jdk-8 … [0;m[0KUsing docker image sha256:783d31e342e7de3d0c84271624e428ef02698ea0c112b62846f0c0c6882128c1 for predefined container… [0;m[0KPulling docker image maven:3-jdk-8 … [0;m[0KUsing docker image maven:3-jdk-8 ID=sha256:080cf1fccf1c3f8911bc07709347fcb1d96372674ec5e4809e109b9965dbe5fd for build container… [0;mRunning on runner-60d888e2-project-12-concurrent-0 via 215fe72c9b4f… [32;1mCloning repository…[0;m Cloning into '/builds/dmgmnt/dmgmnt-central'… [32;1mChecking out 377aedf6 as […]

与Docker容器交谈时更新本地/ etc / hosts

我maven POM文件创builddocker容器与testing服务。 它还运行必须与这些容器中的服务对话的testing。 容器可以使用在docker-compose.yml文件中定义为链接的主机名相互交谈,例如: kafka: image: spotify/kafka hostname: kafka environment: ADVERTISED_HOST: kafka ADVERTISED_PORT: 9092 ports: – "9092:9092" our_service: build: ../../logstash/ ports: – "8081:8080" links: – kafka 这是因为每个容器的/etc/hosts文件都包含带有到集群中其他容器的链接的条目。 但是,在群集之外,运行Maventesting的地方/etc/hosts没有更新,我不希望它被更新,因为它将在Jenkins CI上运行。 当然,我的testing可以通过localhost:9092与Kafka交谈,但Kafka要求生产者连接到kafka主机,而不是本地主机,如果它已经在kafka名下广告了。 我怎么解决这个问题: 在Docker容器中运行Maventesting,但是这需要Maven项目来运行另一个Maven项目。 在运行时在程序中更新JVM的DNScaching。 这两个对我来说都是一个肮脏的解

我怎样才能给文件一个名字

我正在使用Java Docker API,并试图将我的文本文件发送到泊坞窗容器,但文件不会显示在那里。 我想这是因为该文件没有标题? 我怎样才能给inputstream一个标题? final String configDir = "C:/teste/configuration.txt"; File file = new File(configDir); InputStream input = new FileInputStream(file); TarArchiveInputStream tarArchiveInputStream = new TarArchiveInputStream(input,"UTF-8"); dockerClient.copyArchiveToContainerCmd("1025c61de603") .withRemotePath("/tmp/") .withTarInputStream(tarArchiveInputStream) .exec(); 编辑:我不会在我的抓到任何错误。 似乎一切工作正常,但不创build。 如果你知道一个简单的方法发送文件到docker集装箱在Java中请告诉我

Docker,Dockerfile,并在开始我的下一个服务之前使用等待

我有2个Dockerfiles,'app'依赖于'sso'。 a)keycloak-Dockerfile: FROM jboss/keycloak-mysql:3.3.0.Final 这个服务在我的docker-compose.yml文件中被称为'sso' b)我的野蛮服务Dockerfile: FROM openjdk:8u111-jdk-alpine在那里我部署我的java服务 这个服务在我的docker-compose.yml文件中被称为“app” 因此,这个'sso'服务需要一段时间才能部署。 我希望我的'应用程序'在'sso'服务启动后部署。 关于我的configuration有一点要记住,'sso'启动端口8080相当快,但需要时间来获得所有的keycloak-realms。 这是我的'app'-Dockerfile中的第一个方法 FROM openjdk:8u111-jdk-alpine RUN apk update && apk add –no-cache tini openssl bash COPY target/accounts-api-swarm.jar /usr/src/myapp/ WORKDIR /usr/src/myapp RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /wait-for-it.sh && chmod +x /wait-for-it.sh ENTRYPOINT ["/tini", "–", "/wait-for-it.sh", "sso:8080", "-t", "360", "–"] CMD java -jar accounts-api-swarm.jar -Sinitdata 这种方法是行不通的,因为accounts-api-swarm.jar是在所有keycloak领域都已经部署之前部署的(刚刚在sso:8080启动之后) 我的下一个尝试是(how_I_believe_wait-for-it.sh_works)是看“主”领域是否可用。 FROM […]

使用Maven站点部署将http传输到Nginx Docker容器

我有一个Maven项目,我正在生成文档,我正在使用Maven网站插件来这样做。 我想运行mvn site:site来生成它,然后运行mvn site:deploy将它上传到运行的Nginx docker容器中。 由于Nginx本身只支持Http请求,所以我想知道这是否可能。 该mvn网站:网站将生成到我的项目文件夹本地,我想运行网站:部署上载到Nginx容器。 另外请注意,我正在尝试使用Wagon来启用带有WebDAV的Http。

无法访问任何服务的容器

我创build了一个图像: stavalfi/projecty:latest这是一个非常基本的Java春季应用程序。 当我运行一个没有swarm的容器时,一切工作正常: docker run -d -p 8081:8080 –name container1 stavalfi/projecty:latest 从铬工作: http://localhost:8081/ http://172.17.0.2:8080/ <<– the address of the leader (no other nodes in the swarm) 当我使用以下方法创build服务时: docker service create -p 8080:8080 –name service1 stavalfi/projecty:latest docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab8cb85e9750 stavalfi/projecty:latest "/bin/sh -c '/usr/…" 5 minutes ago Up 5 […]

如何正确地使用这个应用程序与docker输出到文本文件?

我下载了一个PDF脱衣舞文本布局 但我不知道如何使用 https://github.com/madnight/pdf-layout-text-stripper 我安装并使用这个命令,但输出文本到控制台 我需要输出到文本文件 docker run -v $(pwd):/app pdf-layout-text-stripper "sample.pdf" 请在这件事上给予我帮助