로컬에 파일을 저장을 할 시에는 경로를 주로 절대경로로 저장을 한다.
이러한 방식은 배포시 문제를 일으킨다. 배포환경에 맞는 경로를 설정해주어야 한다.
OS에 따라 separator를 설정해주고 경로를 클래스패스를이용하거나 직접 작성을 해주어야 한다.
이 글에서는 도커배포시 외부가 아닌 도커환경에 파일을 저장시킬떄 경로 설정 방법이다.
도커환경의 저장공간을 확인해보면 아래와 같다.
최상위폴더는 /이다. 기본적으로 리눅스환경이기에 separator는 /를 사용한다.
위 사진에서는 /app 디렉토리에 static/images/structure 디렉토리를 생성한 것이다.
그래서 코드작성시 경로를 아래와 같이 작성해야한다. /app 으로 시작하거나 /usr/src/app 으로 시작할 것이다.
public byte[] structureImageFind(String code) {
File file = new File("/app/static/images/structures/"+code+".png");
try {
return Files.readAllBytes(file.toPath());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
'I leaned > Etc' 카테고리의 다른 글
법정동 디비에 넣기 (0) | 2023.09.27 |
---|---|
도커 컴포즈 (0) | 2023.09.15 |
요구사항 명세서 (0) | 2023.08.24 |
비즈니스 캔버스 (0) | 2023.08.23 |
UX / UI 디자인 (0) | 2023.08.22 |