Docker 컨테이너 내에서 SBT Revolver으로 실험 중입니다. Docker 볼륨으로 기본 디렉토리를 마운트 중입니다. Docker는 사용자를 매핑하지 않으므로 호스트 사용자가 소유하지 않은 디렉토리 인 project/project/
및 project/target/
으로 끝납니다. 읽기 전용 기본 디렉토리가있는 SBT
build.sbt
이를 추가하여
target/
디렉터리의 위치를 변경 할 수 있었다 :
target := file("/data/target")
그러나 나는 내에서 생성 된 파일의 위치를 사용자 정의하는 방법에 대한 단서가없는 project/
디렉토리
어떤 식 으로든 빌드 출력이 기본 디렉터리 외부에서 생성되는 SBT 빌드를 가질 수 있습니까?
'target' 경로를 설정해야하는 이유가 확실하지 않습니다 ... 이전에 SBT 컨테이너를 작성했으며 수정되지 않은'build.sbt' 파일을 사용합니다 (https://registry.hub.docker.com 참조)./u/errordeveloper/sbt/ – errordeveloper
하지만 인공물의 소유권은 현재 조금 지저분하다는 것을 알게되었습니다. 몇 가지 컴파일러 - 인 - 도커 물건을 걷어차는 중 하나는 도커/도커 자체입니다, 나는 거기서부터 시작할 것입니다. – errordeveloper
멋진 dockerfile과 jdk도 있습니다. 그러나 당신이'docker run -t -i -v'pwd' 명령을 실행하면 :/io errordeveloper/sbt : latest '; 컴파일; exit''가 루트가 소유 한 대상 디렉토리를 만듭니다. 볼륨 외부로 옮길 수 있다면 sudo로 호스트를 지울 필요가 없습니다. –