도커, 볼륨을 읽기 전용으로 마운트
저는 도커와 함께 작업하고 있는데, 많이 바뀌는 동적 폴더를 마운트하고 싶습니다(따라서 실행할 때마다 도커 이미지를 만들 필요가 없고 비용이 많이 들 것입니다). 하지만 해당 폴더는 읽기 전용이어야 합니다.폴더 소유자를 다른 사용자로 변경하면 됩니다.하지만,chown
요망하는root
애플리케이션에 노출되지 않았으면 하는 액세스.
사용할때-v
flag to mount, 내가 주는 사용자 이름이 무엇이든 간에, 나는 도커 이미지 안에 non-root 사용자를 만들었지만, 도커를 실행한 사용자가 소유자인 볼륨의 모든 파일이 명령줄에서 내가 주는 사용자로 변경되어 읽기 전용 파일과 폴더를 만들 수 없습니다.어떻게 하면 이걸 막을 수 있을까요?
저도 추가했습니다.mustafa ALL=(docker) NOPASSWD: /usr/bin/docker
, 그래서 터미널을 통해 다른 사용자로 변경할 수 있었지만, 파일에는 내 사용자에 대한 권한이 있습니다.
다음을 추가하여 볼륨을 읽기 전용으로 지정할 수 있습니다.:ro
에게-v
스위치:
docker run -v volume-name:/path/in/container:ro my/image
그러면 폴더는 컨테이너에서 읽기 전용으로 호스트에서 읽기-쓰기됩니다.
2018 편집
볼륨 사용 설명서에 따르면 이제 볼륨을 마운트하는 다른 방법이 있습니다.--mount
스위치를 바꾸다읽기 전용으로 이를 활용하는 방법은 다음과 같습니다.
$ docker run --mount source=volume-name,destination=/path/in/container,readonly my/image
도커-
다음은 읽기 전용 컨테이너를 지정하는 방법에 대한 예입니다.docker-compose
:
version: "3"
services:
redis:
image: redis:alpine
read_only: true
도커-
다음은 읽기 전용 볼륨을 지정하는 적절한 방법입니다.docker-compose
:
장문법
version: "3.2" # Use version 3.2 or above
services:
my_service:
image: my:image
volumes:
- type: volume
source: volume-name
target: /path/in/container
read_only: true
volumes:
volume-name:
https://docs.docker.com/compose/compose-file/compose-file-v3/ #롱-syntax-3
단문법
더하다:ro
볼륨 마운트 정의:
version: "3.0" # Use version 3.0 or above
services:
my_service:
image: my:image
volumes:
- /path/on/host:/path/inside/container:ro
https://docs.docker.com/compose/compose-file/compose-file-v3/ #짧은syntax-3
언급URL : https://stackoverflow.com/questions/19158810/docker-mount-volumes-as-readonly
'source' 카테고리의 다른 글
mysql에서 보기에 대한 주석 만들기 (0) | 2023.09.19 |
---|---|
subprocess.open과 subprocess.run의 차이점은 무엇입니까? (0) | 2023.09.19 |
도커 이미지 설치 디렉토리를 변경하는 방법은? (0) | 2023.09.19 |
행 1에서 시작하고 행 2에서 끝을 갖는 행 2개의 결과를 결합합니다. (0) | 2023.09.19 |
오라클에서 인덱스를 사용하지 않도록 강제하는 방법 (0) | 2023.09.19 |