欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【问题解决】解决Docker容器应用中mvn: command not found的问题

程序员文章站 2022-04-14 21:36:41
...

解决Docker容器应用中mvn: command not found的问题

问题

我在搞jenkins时使用shell脚本执行mvn命令,提示mvn: command not found。因为我的jenkins是在docker中安装的,所以没有mvn环境

原因

在docker中安装的jenkins,没有maven,虽然可以通过挂载宿主机目录来提供maven,但是容器内的环境变量却不会知道设置,因此需要我们手动设置环境变量。

解决

  1. 运行容器的时候将宿主机的java和maven目录挂载进去
docker run 
-d -p 8080:8080 \
-v /usr/lib/jvm/java-1.8-openjdk:/usr/lib/jvm/java-1.8-openjdk \
-v /usr/local/maven/maven3:/usr/local/maven/maven3 \
容器id

-v 是将宿主机的目录挂载到容器内

:冒号前面的是宿主机目录,冒号后面的是容器应用的目录

  1. 运行容器成功后,进入容器
docker exec -it 容器id /bin/bash
  1. 设置容器应用的环境变量
vi /etc/profile

在文件最后面添加如下内容

# java环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=./:JAVA_HOME/lib:$JRE_HOME/lib


# maven环境变量
export M2_HOME=/usr/local/maven/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

JAVA_HOMEM2_HOME需根据个人安装的位置决定

  1. 更新profile
source /etc/profile
  1. 验证是否设置成功
mvn -v

【问题解决】解决Docker容器应用中mvn: command not found的问题

出现上面的内容则表明成功

相关标签: 解决方法