在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Docker-Maven-Plugin微服务部署有两种方法:
Maven插件自动部署步骤写在最前面:该方法有漏洞,容易被黑客远程放入挖矿机镜像,开启需做好防范,开放了2375,没做ip限制,就被拉去挖矿了。。。推荐使用CA加密端口 1、修改宿主机的docker配置,开放2375端口,让其可以远程访问本地执行maven命令对于宿主机来说是远程操作,docker的远程操作是默认关闭的,先开启2375端口 首先在宿主机上执行命令,修改配置文件(centos 7) vi /lib/systemd/system/docker.service 在 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
原来 修改后 如果是centos7以下修改为 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 2、刷新配置,重启服务systemctl daemon-reload //加载docker守护线程 systemctl restart docker //重启docker 3、配置容器防火墙即使开放了2375端口,外部也是不能访问的,只能内部访问,如果要让外部可以访问。得要配置下防火墙。如果阿里云不配置,当心被拉去挖矿-_-,我这是学校服务器,要vpn才能访问,无所谓 这里就关了 使用命令 systemctl stop firewalld (关闭防火墙) systemctl disable firewalld (禁用防火墙,开机不会启动) 关闭 selinux vi /etc/selinux/config,SELINUX=enforcing改为disabled
重启完成后,检查防火墙和selinux状态 systemctl status firewalld(查看防火墙状态) secon(查看selinux状态) 阿里云建议配置安全诅 此时我连一下 4、在pom.xml 添加配置用下面配置就会自动生成 <build> <finalName>testDocker</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!--docker的maven插件--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <!--配置部分--> <configuration> <!--修改imageName节点的内容,改为私有仓库地址和端口,再加上镜像id和TAG,我们要直接传到私服--> <!--配置最后生成的镜像名,docker images里的,我们这边取项目名:版本--> <imageName>172.19.240.208:5000/${project.artifactId}:${project.version}</imageName> <!--基础镜像,相当于Dockerfile里的from--> <baseImage>ascdc/jdk8</baseImage> <!--入口点,project.build.finalName就是project标签下的build标签下的filename标签内容,testDocker--> <!--相当于启动容器后,会自动执行java-jar/testDocker.jar--> <entryPoint>["java", "‐jar", "/${project.build.finalName}.jar"]</entryPoint> <!--是否推送到docker私有仓库--> <pushImage>true</pushImage> <registryUrl>172.19.240.208:5000</registryUrl> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <!--把哪个文件上传到docker,相当于Dockerfile里的add testDocker.jar /--> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://172.19.240.208:2375</dockerHost> </configuration> </plugin> </plugins> </build> 注意,push到私有仓库有三点,并且前提是容器处于启动状态 <!-- 1、新增registryUrl节点,内容是私有仓库地址和端口(我这边设置了5000端口)--> <registryUrl>你的ip:5000</registryUrl> <!-- 2、新增pushImage节点 --> <pushImage>true</pushImage> <!-- 3、修改imageName节点的内容,改为私有仓库地址和端口,再加上镜像id和TAG,到仓库里的名字就是你的项目名:版本 --> <imageName>你的ip:5000/${project.artifactId}:${project.version}</imageName> mvn clean,mvn install一下,先放到本地仓库再说 然后执行
跑的时候有一个错误
百度查了一下,很多人说是要登录,实际上不是要登录,也不是仓库不存在,实际上是我的docker上没有jdk1.8的镜像文件,需要自己下一个,可以docker search jdk8,pull一个,或者自己传tar包上去然后Dockerfile搞一个。我直接pull了一个
在项目中改下基础镜像名 成功构建并push上去
查看镜像 查看仓库 到此这篇关于详细docker-maven-plugin使用方法的文章就介绍到这了,更多相关docker-maven-plugin使用内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论