当前位置: 首页 > news >正文

海口网站制作软件网站开发与管理

海口网站制作软件,网站开发与管理,房地产营销策划,c2c电子商务的网站Maven打包构建Docker镜像并推送到仓库 文章目录Maven打包构建Docker镜像并推送到仓库一,服务器Docker配置二,本地项目maven配置2.1 pom.xml2.2 dockerfile2.3 验证2.4 统一dockerfile对于开发完成的服务要发布至服务器Docker时,我刚学习了解D…

Maven打包构建Docker镜像并推送到仓库

文章目录

  • Maven打包构建Docker镜像并推送到仓库
  • 一,服务器Docker配置
  • 二,本地项目maven配置
    • 2.1 pom.xml
    • 2.2 dockerfile
    • 2.3 验证
    • 2.4 统一dockerfile

对于开发完成的服务要发布至服务器Docker时,我刚学习了解Docker时构建镜像方式是将我的本地服务先通过maven打包称为jar包,然后再上传至我的服务器上,通过Dockerfile将其构建成为镜像。后来才了解了直接通过maven命令直接打包构建的方式,以下是完成这一操作的步骤。

一,服务器Docker配置

修改daemon.json文件,开放端口2375

"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]

我的文件如下所示:

{"insecure-registries":["10.xx.xx.xx:5000"],"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
{
"graph":"/Data/docker"
}

二,本地项目maven配置

2.1 pom.xml

在项目的pom文件引入docker-maven-plugin插件

<plugin><!-- https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin --><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><executions><!-- 当mvn执行install操作的时候,执行docker的build和push --><execution><id>build</id><phase>install</phase><goals><goal>build</goal><!--                                <goal>push</goal>--></goals></execution></executions><configuration><!-- 连接到 带docker环境的linux服务器 编译image --><dockerHost>http://10.xx.xx.xx:2375</dockerHost><!--格式:私有仓库/镜像名称:版本号, 如果要执行push操作, 那么镜像名称必须为私有仓库为前缀,不然无效。--><imageName>10.xx.xx.xx:5000/${project.artifactId}:${docker.tag}</imageName><!--指定dockerfile文件路径--><dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory><!-- 指定jar包路径,这里对应Dockerfile中复制 jar 包到 docker 容器指定目录配置,也可以写到 Docokerfile 中 --><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><!--跳过测试--><!-- push到 docker hub 开始 --><!-- serverId 这个是配置在maven的setting.xml中私服的登录账户信息--><!--                    <serverId>docker-hub</serverId>--><retryPushCount>3</retryPushCount><retryPushTimeout>2000</retryPushTimeout><registryUrl>10.xx.xx.xx:5000</registryUrl><!-- 是否自動推送到Registry Server, 建議手動推送 --><pushImage>${docker.push}</pushImage><!-- push到 docker hub 结束 --></configuration></plugin>

重要配置解释:

  • dockerHost:docker所在服务器的ip和开放的端口
  • imageName:最终构建的镜像名称
  • dockerDirectory:本地dockerfile文件存放路径
  • targetPath:本地jar包生成位置
  • registryUrl:服务器docker的仓库地址
  • pushImage:是否在构建镜像后同时推送到Docker仓库

2.2 dockerfile

在本地项目的src/main下创建docker目录,在docker目录下创建dockerfile文件

FROM 10.xx.xx.xx:5000/java
VOLUME /tmp
ENV LANG C.UTF-8
COPY *.jar app.jar
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo "Asia/Shanghai" > /etc/timezone 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Djava.util.Arrays.useLegacyMergeSort=true", "-jar","app.jar"]

2.3 验证

此时,对该项目进行mvn install时,相当于会同时进行docker:build的动作,将本地项目jar包构建成镜像到服务器中

2.4 统一dockerfile

如果每个服务的镜像构建没有差异,可以将dockerfile从子项目中抽出来,就不需要在每一个项目模块中都创建相同的文件,直接放在项目根路径下就可以进行通用,同时修改pom配置

	<!--指定dockerfile文件路径--><dockerDirectory>${project.parent.basedir}/docker</dockerDirectory>

此时的dockerfile存储位置为项目父级目录的docker文件夹下。

http://www.yayakq.cn/news/851138/

相关文章:

  • 哪个网站是专做宝宝饭的南京网页设计培训班
  • 百度生成在线网站地图免费的虚拟电脑app
  • 河南省教育类网站前置审批炒股配资网站建设
  • 济南做网站云建站推荐
  • 基因数据库网站开发价格阿里云 wordpress 慢
  • 小程序制作流程企业seo网站营销推广
  • 如何能让网站尽快备案通过网站开发图片
  • 苏州外贸公司网站建设流程个人可以做外贸的网站
  • 南通网站建设要多少钱做室内概念图的网站
  • 章丘做网站的公司免费网站流量统计
  • 数据网站建设成本从哪里找网络推广公司
  • 2003 iis网站发布wordpress网页图标
  • 用ip地址做网站校园二手市场网站建设
  • 金华建站软件佛山购物网站建设
  • 烟台专业做网站公司有哪些绿色农产品网站 模板
  • 兼职网站建设 开源投资公司怎么赚钱
  • 河南省住房和城乡建设厅官方网站南阳网站设计
  • 网站首页做301福建百川建设有限公司网站
  • 公司门户网站建设特点WordPress样式表修改字体大小
  • wordpress文章图片排名轻松seo 网站
  • 嘉定做网站研究网站开发意义
  • 做家装施工的网站网站转移空间以后ip会变化吗
  • 查询网站服务器类型wordpress图像
  • 合肥做微网站建设厦门关键词排名seo
  • 山西电力建设一公司网站大丰网站建设找哪家好
  • 企业网站不备案会怎么样建筑方案设计说明
  • 安徽住房和建设厅网站ftp怎么设置网站首页
  • 织梦做电子商务网站wordpress无插件美化
  • 阳江网站建设郑州网站制作多少钱
  • seo 哪些媒体网站可以发新闻网站做优化的好处