나는 Docker 컨테이너에서 Jenkins를 실행 중입니다. 홈 디렉토리는 컨테이너 업데이트가 수행 될 때 빌드 기록이 보존되도록하기 위해 호스트 볼륨에 있습니다.Docker 파일을 변경하면 Docker가 마운트 할 때 볼륨 내용을 업데이트합니까?
컨테이너를 업데이트하여 홈 디렉토리에 추가 파일을 만들었습니다. 새 컨테이너를 당길 때 변경된 파일을 볼 수 없습니다.
ENV JENKINS_HOME=/var/jenkins_home
RUN mkdir -p ${JENKINS_HOME}/.m2
COPY settings.xml ${JENKINS_HOME}/.m2/settings.xml
RUN chown -R jenkins:jenkins ${JENKINS_HOME}/.m2
VOLUME ["/var/jenkins_home"]
나는이 같은 컨테이너를 실행하고 있습니다 :
docker run -v /host/directory:/var/jenkins_home -p 80:8080 jenkins
나는 이전 실행 젠킨스을했고 그래서 홈 디렉토리가 이미 호스트에 존재합니다. 새 컨테이너를 가져 와서 실행하면 .m2/settings.xml
파일이 생성되지 않은 것을 알 수 있습니다. 왜 이래요? 기본적으로
디렉토리가 성공적으로 빌드 된 경우 컨테이너 내부를 보려고 했습니까?컨테이너를 올바르게 다시 조립 하시겠습니까? 빌드 프로세스에 오류가 있습니까? 예 : 디렉토리가 존재하지 않기 때문에 파일을 복사 할 수 없습니까? – Gabbax0r
'docker build' 명령이 완료까지 실행됩니다. 빌드 중에 오류가보고되지 않습니다. 용기 안을 들여다 보면 무슨 의미일까요? 'docker exec -it jenkins/bin/bash'를 실행하고 컨테이너 안에'.m2' 디렉토리가 없다는 것을 알았습니다. – John
변수 이름없이 cp를 시도하십시오. RUN mkdir /.m2 COPY settings.xml /.m2/settings.xml – Gabbax0r