Tools/docker

[Docker] 컨테이너의 데이터 공유를 위한 방법, 볼륨, 바인드 마운트

MOMOBOB 2021. 5. 4. 21:27
반응형

컨테이너간  데이터 공유

docker 컨테이너에서 쓰여진 데이터들은 기본적으로 컨테이너가 삭제될 때, 함께 제거된다.

 

Docker는 데이터를 유지 혹은 컨테이너간 공유하기 위해서 세가지 옵션을 제공함.

 

 

1. BIND MOUNT

2. VOLUME

3. TMPFS MOUNT

1. BIND MOUNT

 

- 호스트 파일시스테므이 파일경로를 마운트하는 방법

 

docker run –v <호스트 경로>:<컨테이너 내 경로>:<권한> <이미지>

docker run –d –p 80:80 --rm –v /var/www:/user/share/nginx/html:ro nginx

  권한 종류

  • ro : 읽기 전용
  • rw : 읽기 및 쓰기

 

반응형

 

2. VOLUME

- docker의 volume을 생성하여 volume을 마운트하는 방법

- Docker API를 사용하여 볼륨을 관리

- Linux 및 Windows 컨테이너 모두에서 작동

- 여러 컨테이너간에 안전하게 공유가능

 

docker volume create <볼륨명>

docker volume create my-vol

docker run –v <볼륨명>:<컨테이너 내 경로> <이미지>

docker run –d –p 80:80 --rm –v my-vol:/user/share/nginx/html nginx

 

3. TMPFS MOUNT

 

- 리눅스의 tmpfs를 이용한 마운팅 방법

- 호스트 메모리에서만 지속됨

- 컨테이너간에 마운트를 공유 불가능

- 리눅스에서 Docker를 실행한 환경에서만 사용가능

 

docker run -tmpfs <컨테이너 내 경로> <이미지>

docker run –d –p 80:80 --rm -tmpfs /user/share/nginx/html nginx

 

반응형