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

北京建站优化六安网新科技集团有限公司

北京建站优化,六安网新科技集团有限公司,全站搜索,广东住房和城乡建设局网站目前可以说 Docker 已经是在开发部署中成为主流,所以我们很多环境和工具都会安装在 Docker 容器中,Maven 环境是 SpringBoot 项目中最常用的依赖管理工具。当我们使用自动运维工具如 Ansible、Chef 、Puppet、Walle、Spug等)管理和部署 Maven…

目前可以说 Docker 已经是在开发部署中成为主流,所以我们很多环境和工具都会安装在 Docker 容器中,Maven 环境是 SpringBoot 项目中最常用的依赖管理工具。当我们使用自动运维工具如 Ansible、Chef 、Puppet、Walle、Spug等)管理和部署 Maven 项目时,就需要在自动运维工具运行环境中有 Maven 环境的支持。

如果这些环境都安装在服务器中并没有安装容器中其实都很好办。但是一旦这些环境都安装在 Docker 容器中时,每当我们安装这些项目依赖工具时往往会遇到一些奇奇葩葩的问题,所以今天对 Docker 中安装 Maven 环境做个简单的记录。

在这安装过程中我使用的是 Docker Compose,所以在此之前需要安装好 Compose。

编写一个更简单的 docker-compose.yml 文件,它只需启动一个 Maven 容器,并暴露 Maven 的一些基本配置。

version: '3'
services:maven:image: maven:latestcontainer_name: mavenvolumes:- ~/.m2:/root/.m2 # 主机上 Maven 的本地仓库目录(~/.m2)挂载到容器中的 /root/.m2 目录,这样可以实现 Maven 的缓存持久化,避免每次启动容器都重新下载依赖- /path/to/your/settings.xml:/usr/share/maven/conf/settings.xml # 主机上的 settings.xml 文件挂载到容器中的 /usr/share/maven/conf/settings.xml 路径下。这样 Maven 将使用您自定义的 settings.xml 文件working_dir: /usr/src/app # 容器的工作目录为 /usr/src/app,以便您可以在容器中执行 Maven 构建命令command: sleep infinity # 使用了 sleep infinity 命令来替换默认的 Maven 构建命令。这个命令会让容器永远休眠,从而避免执行任何构建命令

就是这么简单,编写完 yml 文件后直接使用 docker-compose up 启动 Maven 容器就可以了。

如果您希望在宿主机中使用容器中的 Maven 环境,您可以在宿主机上执行 Maven 命令时使用 Docker 执行命令。以下是一个示例:

docker exec maven mvn clean install
# 或
docker-compose exec maven mvn clean install

这个命令将会在 Maven 容器中执行 mvn clean install 命令。这样您就可以在宿主机上使用容器中的 Maven 环境进行构建操作了。

您也可以将这个命令设置为一个别名,以便更方便地在宿主机中使用。例如,您可以在 ~/.bashrc 文件中添加以下行:

alias mvn='docker exec maven mvn'
# 或
alias mvn='docker-compose exec maven mvn'

这样,您只需在终端中执行 mvn 命令,就相当于在 Maven 容器中执行 Maven 命令,从而可以在宿主机中使用容器中的 Maven 环境了。

这么简单也要记录这个安装过程是因为我开始安装时安装官方例子和网上一些教程来进行安装一直失败,所以就做个简单的记录。在官方和网上的一些例子例子中大家对 command 要么没有配置(默认会执行 mvn 命令)要么配置了 clean 和 install,这样的话在启动容器时会去工作目录下找需要编译的项目,如果找不到就会报以下这些错误。

[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/). Please verify you invoked Maven from the correct directory. -> [Help 1]
 

[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.

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

相关文章:

  • 建站网站知乎湛江做网站seo的
  • 网站软件资源计算机网络技术出来干什么
  • 做模板网站赚钱吗导购网站的seo怎么做
  • 智库建设网站方案山西做网站优势
  • 做商业网站是否要备案手机商城下载
  • 苏州市吴中区住房和城乡建设局官方网站手机编程软件有哪些
  • 网站主机方案北京公司注册地址新规定
  • 网站展示型广告招聘网站哪个平台比较好
  • 上海大型网站建设公司推广型网站免费建设
  • 贵阳做网站设计wordpress 私密
  • 广东电子商务网站网站建设跟推广评价指标有什么关系
  • 站长论坛十大搜索引擎排名
  • 台州网站建站公司广西网站建设
  • 服装做外贸的网站建设请问门户网站是什么意思
  • 民族团结 网站建设百度指数的主要功能有
  • 最火的做网站源码语言网站怎么做快推广方案
  • 电商网站的特点潍坊做网站个人工作室
  • 合肥seo网站排名优化公司功能多的免费网站建设
  • 新丰县建设局网站可以做众筹的网站
  • 免费咨询法律服务关键词优化营销
  • 广州网站设计费用开发一个网站需要多久
  • 海口企业网站建设网络营销渠道的优势
  • 外国人做的关于中国的视频网站凉山建设机械网站
  • 品牌建设网站公司排名大昌建设集团有限公司网站
  • 如何做网站网站代理手机logo免费设计软件
  • 做网站需要用到什么技术员工管理系统源码
  • wordpress恢复数据库文件襄阳seo培训
  • 晋城市住房和城乡建设局官方网站软件开发公司网站模板
  • 珠海做网站价格wordpress认证
  • 怎么看一个网站有没有做301免费网站建设那个好