问答 在 docker 里面创建一个 jenkins 容器,想把主机上安装的 maven 挂载到容器里面,结果是容器里面文件目录有了,但是执行 mvn 命令,提示找不到

平平无奇打工人 · 2020年06月04日 · 最后由 平平无奇打工人 回复于 2020年06月05日 · 3350 次阅读

docker-compose 文件内容:

version: "3"
services:

  jenkins:
    image: jenkinsci/blueocean
    restart: always
    container_name: jenkins
    ports:
      - "9090:8080"
    volumes:
      - /usr/data/jenkins/:/usr/data/jenkins
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/jenkins/logs:/home/CITest/logs/jenkins:rw
      - /usr/local/git:/usr/local/git
      - /usr/share/apache-maven-3.6.3:/usr/share/apache-maven-3.6.3
      - /usr/java/jdk1.8.0_221-amd64:/usr/java/jdk1.8.0_221-amd64

compose 成功后,查看了下,发现容器里面只有文件路径是一样的,实际执行命令路径不一样(如下图),而且上面 compose 文件中挂载的 maven,在容器内找不到 mvn 命令
主机上执行:which git

容器内执行:which git

百度查了下,没找到想要的资料,也可能是我找的方式不对。
希望有知道的大佬,能帮忙解答下,非常感谢!!!

共收到 5 条回复 时间 点赞

容器内的环境变量呢??

残枫 回复

容器内没有设置环境变量,我是直接试的手动编辑,但是 profile 文件是只读的

找不到 mvn 命令你可以直接到 maven 文件夹里去执行命令~ 或者你在/usr/bin 目录下创建一个 maven 目录下 mvn 命令的链接也行,这样就有你要的 mvn 了

你都没有在容器内设置环境变量,怎么可能会找到这个命令;两种方法解决,要么通过 docker-compose 创建的时候写入环境变量,要么通过进入容器写入配置文件;至于你这个进入容器没有权限的问题,你只用使用 root 用户进去就可以了。

残枫 回复

非常感谢了,后面自己写了一个 dockerfile 文件,把需要的安装包加到容器里面,然后环境变量也加上就可以了。

平平无奇打工人 关闭了讨论 06月05日 17:53
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册