如何外化docker容器文件

时间:2016-03-08 04:04:28

标签: java maven jenkins docker docker-compose

我正在使用jenkins官方图片构建自定义泊坞窗图像。我想将maven安装到映像并扩展maven的配置文件。但我失败了。容器启动后,有一个空的/etc/maven目录。我认为这可能是一个许可问题,但经过半天的研究后我无法解决。 这是我的泊坞文件:

FROM jenkins
USER root
RUN apt-get update && apt-get install -y maven

我在docker-compose.yml中尝试了什么:

jenkins:
    build: /docker/jenkins/
    volumes:
        - /srv/docker/jenkins:/var/jenkins_home
        - /srv/docker/maven/conf:/etc/maven:rw # the rw flag has no effect!
        - /srv/docker/maven/repository/:/m2:rw

我尝试删除/srv/docker/maven目录,让容器在第一次运行时创建它。

然后我尝试在VOLUME /etc/maven指令之前或之后向dockerfile添加RUN apt-get update && apt-get install -y maven指令。没用。

我也试过chmod ugo+wx /srv/docker/maven,但都没有效果。

1 个答案:

答案 0 :(得分:0)

将主机文件夹挂载到docker容器时,它会覆盖容器文件夹。由于maven配置文件是在映像构建期间创建的,但是在运行时装入卷,因此卷将覆盖conf文件。

由于maven用户设置会覆盖全局设置(请参阅https://maven.apache.org/settings.html),您可以尝试安装用户设置文件夹。