Tag: maven

如何在Docker构build中将jar / war部署到nexus?

我目前在jenkins下面我的maven java项目的这个方法 用maven image创build一个组合文件,并给出一个入口点命令“mvn clean install” 创build一个Dockerfile,从tomcat图像。 这将复制我的战争../webapps文件夹 一旦docker编写出来的代码0,我开始与docker文件的dockerbuild设。 然后将图像推送到我的registry 现在的问题是。 我需要把我的战争推向联系。 我知道,我们仍然可以通过命令mvn部署…. 但是,我们需要为每个项目维护一切。 以前我用过m2release插件。 该插件可以select执行试运行和释放运行。 一旦完成,它会自动将我的pom更改为下一个顶点并提交git。 现在我想用docker build在jenkins中实现这一点。 或者我的做法是错误的? 如果是的话,这样做的正确解决scheme是什么?

Docker Jenkins集成

我将jenkins部署为docker集装箱。 创build了一个工作来构build并推送docker镜像作为maven项目。 但是,当试图build立它最终的错误。 [INFO] — maven-antrun-plugin:1.3:run (build-service-docker-image) @ infyDockerImageTomcat8 — [INFO] Executing tasks [echo] Running [docker build -t hi2vaisakh/infy-poc-tomcat8:v1.0 .] [exec] /bin/sh: 1: docker: not found [INFO] ———————————————————————— [INFO] BUILD FAILURE

使用Spotify Maven Docker插件,如何更改添加到Docker容器的资源的文件权限?

使用Spotify Maven Docker插件 ,如何更改添加到Docker容器的资源的文件权限? 例如,在下面的Maven Docker插件定义中,我如何指示Maven使脚本wait-for-file.sh可执行文件? <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.9</version> <configuration> <imageName>opes/${project.artifactId}</imageName> <imageTags> <imageTag>${project.version}</imageTag> <imageTag>latest</imageTag> </imageTags> <baseImage>opes/tomcat</baseImage> <maintainer>Derek Mahar &lt;dmahar@opessoftware.com&gt;</maintainer> <resources> <resource> <targetPath>/usr/local/tomcat/webapps</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.war</include> </resource> <resource> <targetPath>/</targetPath> <directory>src/main/docker</directory> <include>wait-for-file.sh</include> </resource> </resources> </configuration> </plugin>

Docker Maven插件:如何在运行容器时指定shm大小

我目前正在使用fabric8io Docker Maven Plugin ,版本为0.15.1,我需要在运行容器时指定shm大小,如Docker参考文档中所述: https : //docs.docker.com/engine/reference/跑/ 而我不知道如何在Maven Docker插件中指定这个选项:任何想法?

docker上的文件名太长

我试图在Docker容器上运行Spark: val input = sc.textFile("data/trips/*") println input input.map(_.split(",")).count() 但是,对于任何types的代码我得到这个错误: File name too long 在看这里http://timothyfox.net/?p=8我意识到你必须改变pom.xml或build.sbt 。 但是,我的代码是作为Docker容器打包的练习的一部分,所以我不知道它是如何组织的。 我看着docker的容器,发现我添加的一个pom.xml文件: <arg>-Xmax-classfile-name</arg> <arg>128</arg> 但没有任何改变。

在子项目jar(maven,docker)中存储基本的java项目

谢谢你看看这个! 马克斯 在将来,我将要构build大量基于同一个父项目的微服务。 这些微服务都将使用spring的云和docker。 我目前有基础的Java项目和一个子项目。 每个微服务的主要应该从父项目inheritance。 直到现在我一直在使用 mvn clean package assembly:single 用于构build微服务的jar,以便父项存储在jar中。 然后运行 java -cp MicroService.jar path.to.parent.Main 哪个工作正常。 我相信这不是最好的方法,我会喜欢任何关于改进的build议。 我现在的问题是,我想使用docker:build mvn clean package docker:build 在使用docker:build打包微服务之后,如何指定父项目的Mainpath,因为父项目不再存储在由docker:build的jar中。 微服务(小孩) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>0.0.1</modelVersion> <groupId>com.example</groupId> <artifactId>micro-service</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> <relativePath /> <!– lookup parent from repository –> </parent> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>http://repo.spring.io/libs-snapshot-local</url> <snapshots> […]

用docker启动oracle:“TNS:listener:所有适当的实例阻塞新的连接”错误

我使用docker启动一个oracle容器。 容器启动正常,数据库出现,当我尝试运行一个maven命令加载一些sql文件,但是,我得到以下错误: [ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.4.1:dropAll (default-cli) on project edacm-se: Error setting up or running Liquibase: liquibase.exception.DatabaseException: java.sql.SQLException: Listener refused the connection with the following error: [ERROR] ORA-12528, TNS:listener: all appropriate instances are blocking new connections 但是,如果我有两个maven命令,一个首先丢掉,然后一个更新,第一个会失败,上面的消息,第二个将通过,所以这显然是一个等待oracle实例可用的问题。 接下来的问题是,如何才能知道Oracle泊坞窗容器实例中的TNS侦听器是否可用于远程请求? 这可以在一个shell脚本中完成吗? 我的oracle实例正在运行: f543a59dad62 oracle "/bin/sh -c '/usr/sbi" 22 minutes ago Up 22 minutes 8080/tcp, 0.0.0.0:49160->22/tcp, […]

如何将gradle复制所有非传递依赖项,剥离版本号?

我有一个使用Maven的小型多项目构build,我想要转换为Gradle。 我有几个问题需要解决,但是我会用一个单独的post来介绍每个问题。 该应用程序有三个子项目,一个REST服务,一个前端GUI和一个Docker镜像构build。 我们将这些叫做“restservice”,“gui”和“image”。 “图像”项目依赖于“restservice”和“gui”,因为它将来自这些项目的两个WAR合并到图像中。 它还依赖于提供JDBC驱动程序的工件(这不包含在“restservice”WAR中)。 为了使“image”项目中的Gradle Docker插件能够工作,我必须有一个本地文件夹,其中包含“restservice”和“gui”项目的两个WAR文件,以及JDBC jar,但版本号从文件名剥离。 Dockerfile引用的工件没有版本号。 所以,为了做到这一点,在“图像”项目中,我需要一个从副本派生的任务来将我的项目依赖项复制到一个文件夹中。 你可以在网上find这个任务的许多变体,但是它们都复制所有的依赖关系,包括传递依赖关系,并且用文件名中的版本号复制它们。 那么,我该如何定义一个Gradle任务,它只复制非传递的依赖关系(两个WAR和JDBC jar),并从文件名中去除版本号?

SpringBoot @RestController不能从外部的docker容器访问

tl; dr一个RestController可以正确回答,另一个不会,如果在Docker容器中运行的话。 该服务有两个API alive @CrossOrigin(origins = "*", maxAge = 3600) @RestController public class AliveController { @RequestMapping(value = "/alive", method = RequestMethod.GET) public ResponseEntity<?> alive() { return new ResponseEntity<>(HttpStatus.OK); } } 和callcount 。 @CrossOrigin @RestController public class CallController { private static int callCount = 0; @RequestMapping(value = "/callcount", method = RequestMethod.GET) public ResponseEntity<?> callCount() { return […]

装载量在docker中不起作用

我是docker的新手。我正在使用Windows 10 ,并通过Power-shell为我的机器和Docker运行Docker。 我的问题是我不能从docker-compose.yml文件复制我的文件 我的文件如下所示 version: '2' services: maven: image: maven:3.3.3-jdk-8 volumes: – ~/.m2:/root/.m2 – /d/projects/test/:/code working_dir: /code links: – mongodb entrypoint: /code/wait-for-it.sh mongodb:27017 — mvn clean install environment: – mongodb_hosts=mongodb mongodb: image: mongo:3.2.4 zookeeper: image: wurstmeister/zookeeper ports: – "2181:2181" kafka: build: . ports: – "9092" 这个testing项目我使用maven,我有很多文件。 但它是给错误,像 错误:对于maven无法启动服务maven:oci运行时错误:exec:“/code/wait-for-it.sh”:stat /code/wait-for-it.sh:没有这样的文件或目录错误:遇到错误while培养这个项目。 我也在docker设置中共享我的本地驱动器,仍然存在问题。 请帮助我,感谢提前。