Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이더리움
- loopback
- 스마트 계약
- kubernetes
- Three
- Docker
- 젤다 왕눈
- 거래
- 부동산
- 암호화폐
- 블록체인
- 스마트 컨트랙트
- 쿠버네티스
- 비트코인
- Games
- 리뷰
- Linux
- 시장
- PC
- 게임
- game
- review
- ps4
- threejs
- 탈중앙화
- strongloop
- 보안
- angular
- 투자
- 주식
Archives
- Today
- Total
BaeBox
Docker - Persistent Data, Data Volumes & Bind Mounting 본문
반응형
DB를 띄우고 있는 Container 가 오류가 나서 종료되었다가 다시 켜졌다고 생각해보자.
이미지를 그대로 실행하는 Container 는 아무런 문제가 없을 것이다.
그런데 DB 는?
DB 정보는 다 날아갔을 것이다.
이에 대한 해결책으로 Docker 는 두 가지 방법을 제시한다.
- volume : make special location outside of container ufs
- bind mounts : link container path to host path
mysql 을 예로 들고 설명해보겠다.
표기된 상자 내의 아무 docker 파일이나 클릭해보자.
상자 내의 volume 의 경로가 DB 의 정보가 저장되는 공간이다.
호스트 말고, 컨테이너 내부에.
그렇다면 DB 의 정보가 저장된 파일을 호스트와 공유한다면, 컨테이너가 사라져도 정보가 저장될 것이다.
명령어 예시:
> docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True -v mysql-db:/var/lib/mysql mysql |
*docker-compose.yml 이용시
version: '3.1' services: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always ports: - "3306:3306" volumes: - "/root/docker/sam:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: example |
가상 볼륨을 마운트 하는 방법도 있다.
귀찮으니 나중에 추가하겠다.
반응형
'개발 관련' 카테고리의 다른 글
Docker - Stack (0) | 2019.10.23 |
---|---|
Docker - Docker Swarm (0) | 2019.10.23 |
Docker - Dockerfile (0) | 2019.10.23 |
Docker Compose (docker-compose) (0) | 2019.10.23 |
Docker - Container (0) | 2019.10.23 |
Comments