使用Maven来构建Docker镜像并上传到私服仓库
maven是一个强大的项目管理与构建工具,使用maven来构建docker镜像,并自动上传到私服仓库,那么就大大简化了工作。
看到网上大部分都是使用的Spotify公司的插件,这里我也选则此插件进行学习。
一 pom.xml中添加docker的插件
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<forceTags>true</forceTags> <!--覆盖相同标签镜像-->
<imageName>my/eureka:0.0.1</imageName> <!--指定镜像名称 仓库/镜像名:标签-->
<baseImage>lwieske/java-8</baseImage> <!--指定基础镜像,相当于dockerFile中的FROM<image> -->
<dockerHost>http://192.168.10.72:2375</dockerHost> <!-- 指定仓库地址 -->
<entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器启动执行的命令,相当于dockerFile的ENTRYPOINT -->
<resources>
<resource> <!-- 指定资源文件 -->
<targetPath>/</targetPath> <!-- 指定要复制的目录路径,这里是当前目录 -->
<directory>${project.build.directory}</directory> <!-- 指定要复制的根目录,这里是target目录 -->
<include>${project.build.finalName}.jar</include> <!-- 指定需要拷贝的文件,这里指最后生成的jar包 -->
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
二 docker开启远程api端口
修改 /etc/sysconfig/docker文件
vi /etc/sysconfig/docker
在最下面添加一行
DOCKER_OPTS='-H unix:///var/run/docker.sock -H 0.0.0.0:2375'
再修改 /usr/systemd/system/docker.service
vi /usr/systemd/system/docker.service
在ExecStart后面添加 $DOCKER_OPTS \
重新加载配置文件
systemctl daemon-reload
重启docker
systemctl restart docker
三 开启防火墙端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入配置
irewall-cmd --reload
四 执行mvn命令来构建docker镜像
运行命令
查看服务器上镜像列表
运行镜像<