maven构建docker镜像三部曲之一:准备环境

简介: 实战mavenn的tomcat7-maven-plugin插件:准备工作

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos

更简单的部署

  • 之前的实战中,如果要在docker环境中运行java的web工程,通常先运行一个支持在线部署的tomcat容器,然后通过mavenn的tomcat7-maven-plugin插件把工程在线部署到tomcat中,有没有更简便的方法呢?有,利用docker-maven-plugin插件不但能将工程构建成镜像,还能将此镜像推送到镜像仓库中去,从本章开始,我们就通过实战来熟悉这个插件吧;

环境信息

  • 本次实战是在win10环境下,在"VMware Workstation 14 Player"这个虚拟机工具下运行ubuntu16 server的虚拟机,在此虚拟机上完成本次实战的;

实战步骤总览

  • 整体上分为以下三步,分三篇文章完成:
  1. 准备环境;
  2. 开发spring boot的web工程,构建镜像;
  3. 将镜像推送到局域网的docker私服,以及阿里云的私服上去;
  • 本章我们的任务是将环境准备好,接下来就开始吧;

创建虚拟机,安装docker

  • 首先要下载ubuntu16的server版iso,再在VMware上装一个虚拟机,再在此虚拟机上安装docker,这些操作的详情请参照《rancher下的kubernetes之一:构建标准化vmware镜像》这篇文章;
  • 完成了虚拟机的安装,以及虚拟机上docker的安装后,请用SecureCRT登录上去,为了后面的操作方便,请使用root账号;

ubuntu安装jdk8

  • 执行以下命令添加ppa:
add-apt-repository ppa:webupd8team/java
  • 会见到下图的信息,此时直接按回车键继续:

这里写图片描述

  • apt更新:
apt-get update
  • 执行以下命令开始安装jdk8:
apt-get install oracle-java8-installer
  • 稍后会弹出如下信息,按回车继续;

这里写图片描述

  • 然后会弹出如下信息,选择"Yes",然后回车继续:

这里写图片描述

  • 漫长的等待后安装成功,执行java -version看到信息如下,jdk8安装成功:

这里写图片描述

ubuntu安装maven

  • 去maven官网下载maven安装包,例如apache-maven-3.5.2-bin.tar.gz
  • 用SecureCRT的SFTP功能将maven安装文件从win10系统上传到虚拟机中,如下图:

这里写图片描述

  • 将maven安装文件解压后,整个目录复制到/opt目录下,复制后的路径是:/opt/apache-maven-3.5.2;
  • 执行cd /bin来到/bin目录下;
  • 执行以下命令创建软链接:
    ln -s /opt/apache-maven-3.5.2/bin/mvn mvn
  • 编辑/etc/profile文件,在末尾新增以下两行:
export M2_HOME=/opt/apache-maven-3.5.2
export PATH=${M2_HOME}/bin:$PATH
  • 编辑完保存推出,执行source /etc/profile或者关闭窗口重新连接登录,都能使刚才的配置生效;
  • 执行mvn -version,看到的信息如下图,说明jdk和maven都安装成功了:

这里写图片描述

  • 以上就是我们是实战前的准备工作,在下一章我们开发出spring boot的web应用,再打包成本地docker环境的镜像;

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
4月前
|
人工智能 前端开发 Docker
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
在 AI 智能体开发中,开发者常面临本地调试与云端部署的矛盾。本文介绍如何通过 Docker Compose 与 Docker Offload 解决这一难题,实现从本地快速迭代到云端高效扩容的全流程。内容涵盖多服务协同、容器化配置、GPU 支持及实战案例,助你构建高效、一致的 AI 智能体开发环境。
483 2
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
|
4月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
363 99
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
191 5
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
584 5
|
3月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
Maven项目管理与构建自动化完全指南
|
4月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
232 8
|
6月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
589 3
|
5月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
352 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1300 0