使用docker-maven-plugin插件构建和推送Docker映像
需求我用idea写的代码,然后,利用docker-maven-plugin 插件,希望执行通过mvn clean package docker:build命令,将代码构建成Docker镜像,直接推送到我的本地虚拟机centos下的docker环境下,可以直接用docker命令运行。添加插件pom.xml 文件添加docker-maven-plugin 插件&...
需求
我用idea
写的代码,然后,利用docker-maven-plugin
插件,希望执行通过mvn clean package docker:build
命令,将代码构建成Docker镜像
,直接推送到我的本地虚拟机centos
下的docker环境下,可以直接用docker命令
运行。
添加插件
pom.xml 文件添加docker-maven-plugin
插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>olysa/bootdo:1.0.2</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<dockerHost>http://192.168.56.102:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<dockerHost>http://192.168.56.102:2375</dockerHost>
这里要注意:
1. 有的文档用的https
协议,我这本地的,如果用https
协议,会报Unrecognized SSL message, plaintext connection?
,根据自己的情况而定。
2. http://192.168.56.102:2375
需要填写你的centos
ip地址,并且防火墙启用centos上的2375端口
。如何开放端口请移步iptables 开放防火墙端口
docker开启远程访问
如果没有开启远程访问,会报
Connect to 192.168.56.102:2375 [/192.168.56.102] failed: Connection refused: connect
- 在
/usr/lib/systemd/system/docker.service
,配置远程访问。主要是在[Service]
这个部分,加上下面两个参数:
cd /usr/lib/systemd/system
vi docker.service
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
- docker重新读取配置文件,重新启动docker服务。
systemctl daemon-reload //重新读取配置文件
systemctl restart docker //重新启动服务
构建Docker镜像
- 准备工作都最配好了,在idea工程下
pom.xm
文件目录下,执行以下代码,构建Docker镜像。
mvn clean package docker:build
安静等一段时间构建完成后,去centos
下,查看镜像。执行docker images
:
可以看到,配置的代码已经构建成镜像文件,并上传到虚拟机里面了。
启动镜像
docker run -d -p 8000:8089 olysa/bootdo:1.0.2 //8089是我代码中的port,8000是映射端口
再访问 http://192.168.56.102:8000
之前,记得开启防火墙8000
端口。
iptables -I INPUT -p tcp --dport 8000 -j ACCEPT //当前生效,重启虚拟机后又失效了
涉及到的一些docker命令
就不多解释了,你可以参考我的另一篇文章 Docker常用命令
更多推荐
所有评论(0)