转载:http://blog.csdn.net/lvyuan1234/article/details/69255944
在win10中使用idea开发一个模块化的maven项目,然后想要把该项目直接编译到远程linux服务器的docker中,具体做法如下:
第一:在各模块中的pom文件中加入以下
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<imageName>${project.name}:${project.version}</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<skipDockerBuild>false</skipDockerBuild>
<resources>
<resource>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
第二:在各模块的src/main下面新建docker包,在src/main/docker下面新建Dockerfile与runboot.sh文件(文件内容因情况不同就不贴了),结构如下
第三:在linux服务器上装好docker,我的linux版本为centos7,这里不建议使用#yum install docker方式安装,因为这种方式安装的版本比较旧,而且在配置远程api时要好多错误,建议使用方式
#curl -fsSL https://get.docker.com/ | sh或#yum install docker-engine,这里以17.0.3-ce版本为例,使用
#docker version命令即可验证是否安装成功,接下来要想在windows中操作远程linux中的docker,那前提是必须
开启docker远程API,修改docker配置文件#vi /usr/lib/systemd/system/docker.service ,进入编辑模式后,将ExecStart这一行后面加上-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,改完后如下所示
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,这里就写4个0,你可别改成自己的ip哦,保存后退出,重新加载配置文件#systemctl daemon-reload ,启动docker #systemctl start docker ,
输入#netstat -anp|grep 2375 显示docker正在监听2375端口,输入#curl 127.0.0.1:2375/info 显示一大堆信息,证明远程api就弄好了
第四:在windows系统环境变量中新建DOCKER_HOST,值为tcp://10.100.74.220:2375,(你改成你自己的docker服务器ip地址)
第五步:打开dos窗口,即cmd命令行,进入到你要编译的项目文件夹下,
输入mvn clean package docker:build -DskipTests ,然后慢慢等待,直到最后build成功
第六步:登陆linux,输入#docker images 发现自己的项目已经被编译成镜像了,可以启动容器运行镜像了,也相当于完成了项目的云部署
相关推荐
它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置信息。 ### Maven的主要特点包括: 1. **依赖管理**:Maven能够自动处理...
dockerfile-maven-plugin 支持 maven 直接发布项目至 docker 镜像库
docker-maven-插件 这个 docker-maven-...为了使用 docker-maven-plugin,您需要将以下配置添加到您的 pom.xml 文件中。 [...] [...] [...] < plugin> < groupId>com.github.chmodas</ groupId> <
java运行依赖jar包
Docker Compose Maven插件 ... < artifactId>docker-compose-maven-plugin $VERSION 关于 Maven插件,用于通过Maven运行基本的docker-compose命令。 它可以用作Maven生命周期的一部分,也可以用作将do
(spotify Java)docker-maven-plugin-master.zip
docker-maven-plugin 一个用于构建和推送Docker映像的Maven插件。状态:无效我们建议您改为使用 。docker-maven-plugin的未来该插件是Spotify最初使用的Maven插件,用于从Java服务中构建Docker映像。 它最初创建于...
docker-maven-plugin 这是一个Maven插件,用于构建Docker映像和管理用于集成测试的容器。 它适用于Maven 3.0.5和Docker 1.6.0或更高版本。 目标 目标 描述 默认生命周期阶段 创建并启动容器 整合前测试 停止并...
Dockerbuild Maven 插件使用 docker 容器构建 java 项目的 Maven 插件
maven-docker-images 带有必要插件的Maven映像可缩短构建时间
该项目旨在简化在容器上构建应用程序,对其进行测试并将其推送到Docker存储库的过程,即使该应用程序依赖于其他容器(例如数据库)也是如此。 我们倾向于谈论“ Maven”而不是“ Docker”(例如,“ package”而不是...
docker maven plugin 是个简单的可以管理Docker容器maven插件,这个插件将会根据你的配置,在构建时启动容器,构建结束时停止容器并删除,如果本地找不到镜像,Docker会自动去中央仓库下载。 简单示例: <plugin> ...
3. 镜像构建:Jenkins 服务器使用 Docker-maven-plugin 插件生成 Docker 镜像。 4. 镜像推送:Jenkins 服务器将 Docker 镜像推送到 Harbor 服务器上。 5. 部署应用程序:Harbor 服务器提供了一个安全的环境来部署...
fabric8-maven-plugin, 关于Kubernetes和 OpenShift,用于获取你的Java应用程序的Maven 插件 fabric8-maven-plugin 简介这个 Maven 插件是用于构建和部署 Docker 。Kubernetes和OpenShift的Java应用程序的one-stop-...
Rancher下Docker拉取镜像出现unauthorized to access repository问题解决方案 Rancher是一个流行的容器编排工具,它可以帮助用户快速部署和管理容器化应用程序。然而,在使用Rancher时,可能会遇到拉取镜像出现...
maven projects plugin出现红线怎么办,网上给许多比较蹩脚的方案。经过研究发现一个简洁的方法,一分钟就能搞定。
springboot 使用 dockerFile maven插件 快速构建docker镜像 上传到harbor私有仓库 文章地址 :https://blog.csdn.net/a1041646584/article/details/100524668
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
- 使用 Maven 命令编译项目。 - 将构建结果推送到目标服务器。 - 在目标服务器上解压应用包并部署到 Tomcat。 - 配置服务器环境,如安装 JDK,Tomcat,设置环境变量等。 - 最后,测试部署是否成功。 以上就是...