도커 컨테이너에서 호스트 파일 접근 권한 문제 (docker uid)
2023. 9. 15. 13:51ㆍInfra
Issue
도커 컴포즈로 도커 실행시 File 권한 관련 에러가 발생
원인
- 도커에서 volumes 로 로컬(리눅스) 파일들과 매칭을 시켜 사용
- 도커에서 로컬 (리눅스) 파일로 접근시 기타 유저로 권한이 잡힘
- 컨테이너 내부에서 UID 확인시 1000으로 확인
💡 리눅스 커널을 공유하는 도커의 시스템 특성으로 인해 발생한 문제 ( 아래의 오른쪽 그림 )
해결 해야할 문제
- 리눅스에서 777 권한을 주지않고 문제를 해결해야함
해결 방법
1. 볼륨의 연결을 끊는다 .
도커에서는 프로덕션 레벨에서 볼륨의 연결을 끊고 배포하는 것을 권장한다.
💡 프로덕션 레벨의 환경에서 Docker 컨테이너를 사용할 때 볼륨을 끊고 배포하는 접근 방식을 선택하는 주된 이유는
보안과 데이터 격리
2. 도커를 실행할 때 user 를 지정해서 실행 해준다 .
- docker run
docker run -d --user 0:0 <이미지_이름>
- docker-compose
version: '3'
services:
my_service:
image: <이미지_이름>
user: "0:0"
# 기타 설정 ...
'Infra' 카테고리의 다른 글
[AWS] AWS EC2 스토리지 용량 확장 (0) | 2022.12.29 |
---|---|
[AWS] AWS CloudWatch를 이용해 경보를 보내 보아용 (1) | 2022.12.07 |