Tag: maven

Maven,Docker获取主机系统的实际IP地址

使用Maven和docker-maven-plugin,我configuration了Apache Kafka + ZooKeeper容器: <image> <name>wurstmeister/zookeeper:${zookeeper.version}</name> <alias>zookeeper</alias> <run> <ports> <port>${zookeeper.port}:2181</port> </ports> </run> </image> <image> <name>wurstmeister/kafka:${kafka.version}</name> <alias>kafka</alias> <run> <ports> <port>9093:9092</port> </ports> <links> <link>zookeeper:zookeeper</link> </links> <env> <KAFKA_ADVERTISED_HOST_NAME>192.168.1.202</KAFKA_ADVERTISED_HOST_NAME> <KAFKA_ADVERTISED_PORT>9093</KAFKA_ADVERTISED_PORT> <KAFKA_ZOOKEEPER_CONNECT>zookeeper:${zookeeper.port}</KAFKA_ZOOKEEPER_CONNECT> </env> </run> </image> 正如你所看到的,为了得到它的工作,我必须提供我的主机系统的实际IP地址: <KAFKA_ADVERTISED_HOST_NAME>192.168.1.202</KAFKA_ADVERTISED_HOST_NAME> 在Maven或者docker-maven-plugin中有没有办法自动获得这个IP地址,而不需要硬编码呢? 更新 我find了允许我检索主机IP地址的插件: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>get-local-ip</id> <goals> <goal>local-ip</goal> </goals> <configuration> <localIpProperty>local.ip</localIpProperty> </configuration> </execution> </executions> </plugin> 但为了使用它,我需要在Maven命令的其余部分之前执行build-helper:local-ip目标: mvn build-helper:local-ip docker:start 如何绑定这个插件的某个阶段/目标,以便在一些早期的初始化阶段自动调用它,而不需要每次都手动调用build-helper:local-ip […]

Docker快速入门terminal给JAVA_HOMEvariables在使用maven时没有被正确的定义

我遵循本指南: https : //spring.io/guides/gs/spring-boot-docker/ 几天前,我使用./mvnw install dockerfile成功构build了一个dockerimage:使用虚拟工具箱for Windows,在Docker快速入门terminal内的克隆源表单上构build。 但现在重复执行相同的程序,每个在该terminal内执行的maven命令失败: The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE 如果有任何帮助,我正在使用Windows 10。 在cmd中可以执行mvn命令和java命令。 这种行为如何改变?我该如何解决这个问题?

使用Dockercaching下载的依赖关系

我正在构build一个Docker镜像来构build和运行Java应用程序上的testing,试图允许Dockercaching下载的依赖关系,其方式与使用以下Dockerfile Ruby和Node.js应用程序Dockerfile FROM maven:latest ENV APP_DIR=/app RUN mkdir -p $APP_DIR WORKDIR $APP_DIR COPY pom.xml $APP_DIR RUN mvn dependency:resolve COPY . $APP_DIR CMD mvn test 但是,当一个图像运行, mvn test仍然下载依赖关系,任何想法如何解决这个问题?

运行干净的validation-Denv = dev错误

美好的一天,当我运行命令 clean verify -Denv=dev 我有这个错误 :未能执行目标org.codehaus.mojo:exec-maven-plugin:1.6.0:exec(安装npm)在项目上monitopsy-web:命令执行失败。 不能运行程序“npm” 你能帮忙吗?

Docker运行无法访问JAR文件

我正在使用XMLconfiguration方法为我的项目生成Dockerfile。生成的Dockerfile看起来不错,它得到很好的构build。 但是,当我运行它总是失败的错误。 我们为java创build了一个内部的基础图像,我将其称为baseImage 错误:无法访问jarfile echo-0.0.1.jar描述信息 fmp version : 3.5.31 Maven version (mvn -v) : Apache Maven 3.3.9 Kubernetes / OpenShift setup and version : N/A 我的POM文件: `io.fabric8 fabric8-maven-plugin 3.5.31 <configuration> <images> <image> <name>echo-image:latest</name> <build> <entryPoint> <arg>java</arg> <arg>-jar</arg> <arg>/deployments/echo-0.0.1.jar</arg> </entryPoint> <from>com/baseimage</from> <tags> <tag>latest</tag> </tags> <ports> <port>7000</port> </ports> <env> <JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR> </env> <assembly> <basedir>/deployments</basedir> <descriptorRef>artifact</descriptorRef> </assembly> </build> </image> […]

如何设置AWS ECS + dockerfile-maven-plugin?

我试图设置我的项目的pom.xml和Maven的settings.xml来自动生成Docker镜像并将其推送到我的AWS ECS私有Docker存储库。 在我的pom.xml ,我添加了dockerfile-maven-plugin,并将其configuration如下: <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <executions> <execution> <id>default</id> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> <configuration> <finalName>myproject/server</finalName> <repository>137037344249.dkr.ecr.us-east-2.amazonaws.com/myproject/server</repository> <tag>${docker.image.tag}</tag> <serverId>ecs-docker</serverId> <useMavenSettingsForAuth>true</useMavenSettingsForAuth> <buildArgs> <VERSION>${project.version}</VERSION> <BUILD_NUMBER>${buildNumber}</BUILD_NUMBER> <WAR_FILE>${project.build.finalName}.war</WAR_FILE> </buildArgs> </configuration> </plugin> 根据dockerfile-maven-plugin提供的说明,我需要为ECS服务器身份validation添加configuration,但是我不知道需要提供什么用户名/密码。 我怀疑这是我的AWSlogin用户/通行证。 <servers> <server> <id>ecs-docker</id> <username>where_to_get_this</username> <password>where_to_get_this</password> </server> </servers> 此外,任何build议,以自动化此Docker图像生成/推送到我的回购更好的方式,是值得欢迎的。

如何运行dockm-in-docker-container并仍然获得故障安全testing报告?

TLDR:我目前试图实现的解决scheme是有3个docker容器:DB,SUT和INTEGRATION_TESTS。 问题是,在容器内我不能使用Maven-failsafe插件,这意味着没有testing报告。 全文: 我试图从我的集成testing中得到一个testing报告,这是在Docker容器中运行的。 直到最近,我们还有一个运行在一个docker容器中的testing数据库的设置,SUT运行在另一个容器中,而maven-failsafe-plugin运行主机系统中的集成testing。 但是,现在集成testing使用了线连接,并提供了SUT必须连接的TCP端口。 由于testing有时在Bamboo构build服务器上运行,有时在开发人员计算机(Linux和Mac)上运行,旧的安装程序不再可行(例如,在Mac上,主机只能通过“docker.for.mac.localhost”DNS Bamboo上不可用的名称)。 我看到了以下可能的解决scheme,但似乎都有其缺点: 不要生成testing报告(没有报告糟透了) 手动生成testing报告(自定义代码) 运行一个专用的电线容器,在外面运行testing(再多一个容器,不完整的docker) 最后一个选项似乎是最好的,但可能有一种方法可以从命令行(即“java -jar ……”)触发故障安全报告生成代码?

Jenkins的Docker_Host与mvn fabric8:build

我正在尝试安装Jenkins为Kubernetes集群构build简单的java微服务。 mvn clean package fabric8:build 我在Jenkins中定义了DOCKER_HOST环境variablesDOCKER_HOST=tcp://192.168.20.1:2375 成功构build胖JAR后,我的构build失败,出现以下错误 [ERROR] Failed to execute goal io.fabric8:fabric8-maven-plugin:3.5.31:build (default-cli) on project echo: Cannot create docker access object: Cannot extract API version from server http://192.168.20.1:2375 : No route to host -> [Help 1] 我的Docker主机在Linux上运行。 我更改了daemon.json以添加以下重新启动的docker主机 { "ipv6": false , "live-restore": true, "hosts" : ["tcp://192.168.20.1:2375"] } 问题仍然存在: 几个问题: 为什么fabric8parsingtcp到http? 请看看错误信息。 还有什么需要在Docker主机上完成tcp://192.168.20.1:2375上的请求吗? TIA

使用spotify / dockerfile-maven-plugin推送Docker集线器时出错

我有一个作为docker镜像构build的maven项目。 我正在使用spotify / dockerfile-maven来构build这个镜像,并将它在mvn clean install上自动推送到docker.hub。 build阶段没有任何问题。 但在push我有这个错误: [ERROR] denied: requested access to the resource is denied [WARNING] An attempt failed, will retry 1 more times org.apache.maven.plugin.MojoExecutionException: Could not push image at com.spotify.plugin.dockerfile.PushMojo.execute(PushMojo.java:90) …….. Caused by: com.spotify.docker.client.exceptions.DockerException: denied: requested access to the resource is denied at com.spotify.plugin.dockerfile.LoggingProgressHandler.handleError(LoggingProgressHandler.java:105) at com.spotify.plugin.dockerfile.LoggingProgressHandler.progress(LoggingProgressHandler.java:63) …… 这是我的插件configuration: <build> <pluginManagement> <plugins> <plugin> […]

使用com.spotify,如何设置图像版本

使用com.spotify插件Maven自动化Docker镜像的构build,如何设置版本镜像? 它似乎默认使用Maven版本。 我也可以使用<useGitCommitId>来使它成为git commit short hash,而不是。 但是,如果我想把它整合到这些东西中,或者完全是其他的东西,那又怎么样呢?