SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Docker 코리아 캐주얼 토크 :
boot2docker 사용시 컨테이너
에서 생성한 데이터를 유지하기
# boot2docker 사용시 컨테이너에서 생성한 데이터를
유지하는 방법
* 호스트 컴퓨터의 /Users 폴더에 마운트
* boot2docker 가상머신 내부의 폴더에 마운트
* 볼륨 컨테이너 사용
# 호스트 컴퓨터의 /Users 폴더에 마운트
```
$ docker run 
-p 5432:5432 
-v ~/postgresql:/var/lib/postgresql/data 
postgres:9.4
```
```
initdb: could not create directory "/var/lib/postgresql/data/global":
Permission denied
```
boot2docker 는 `bootdocker up` 실행시 다음과 같이 호스트 폴더를 VM 으로 마
운트
* Users share at /Users
* /Users share at /Users
* c/Users share at /c/Users
* /c/Users share at /c/Users
* c:/Users share at /c/Users
boo2docker 에서 /Users 를 docker:staff 계정을 사용해 자동으로 마운트
컨테이너에서 새로운 계정 생성시 boot2docker 와 다른 UID/GID 를 가지게된다.
파일 생성과 삭제는 폴더 권한을 777로 변경해 해결
하지만 하드링크 생성은 VirtualBox의 버그로
(https://www.virtualbox.org/ticket/818) 여전히 동작하지 않는다.
관련 이슈
: https://github.com/boot2docker/boot2docker/issues/581#issuecomm
ent-60309186
> 호스트의 데이터를 바로 읽을 경우 유용
> 불필요하게 호스트의 파일 및 폴더의 권한을 변경해야 해야 한다
# boot2docker 가상머신 내부의 폴더에 마운트
```
$ docker run 
-p 5432:5432 
-v /var/lib/boot2docker/postgresql:/var/lib/postgresql/data 
postgres:9.4
```
`boot2docker init` 명령어 실행시 다음 2개의 가상디스크를 생성하고 VM에 마운트
* /var/lib/docker
* /var/lib/boot2docker
> 가상 디스크는 `boot2docker delete` 명령어 실행시 삭제
# 볼륨 컨테이너 사용
```
$ docker run --name pg-data 
-v /var/lib/postgresql/data 
busybox
$ docker run 
-p 5432:5432 
--volumes-from pg-data 
postgres:9.4
```
> 볼륨 컨테이너의 데이터는 `/var/lib/docker` 가 지워지지 않는한 유지
# 결론
DB의 데이터를 유지 시키는 용도로 볼륨 컨테이너 사용,
호스트의 데이터를 읽기 위한 용도로 /Users 마운트

Contenu connexe

Tendances

RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS IntroductionRemotty
 
도커 학습과 Boot2Docker
도커 학습과 Boot2Docker도커 학습과 Boot2Docker
도커 학습과 Boot2Dockerpyrasis
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치choi sungwook
 
Git basic2 chaos
Git basic2 chaosGit basic2 chaos
Git basic2 chaosYunkyu Choi
 
Devon 2011-o-3-kde 어제 오늘 그리고 내일
Devon 2011-o-3-kde 어제 오늘 그리고 내일Devon 2011-o-3-kde 어제 오늘 그리고 내일
Devon 2011-o-3-kde 어제 오늘 그리고 내일Daum DNA
 
Dockerfile과 Bash
Dockerfile과 BashDockerfile과 Bash
Dockerfile과 Bashpyrasis
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08Nomad Connection, Inc.
 
Docker introduction
Docker introductionDocker introduction
Docker introductionDaegwon Kim
 
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST APIWooyoung Ko
 
가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기pyrasis
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 

Tendances (14)

RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS Introduction
 
Grub의 이해
Grub의 이해Grub의 이해
Grub의 이해
 
도커 학습과 Boot2Docker
도커 학습과 Boot2Docker도커 학습과 Boot2Docker
도커 학습과 Boot2Docker
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치
 
Git basic2 chaos
Git basic2 chaosGit basic2 chaos
Git basic2 chaos
 
Devon 2011-o-3-kde 어제 오늘 그리고 내일
Devon 2011-o-3-kde 어제 오늘 그리고 내일Devon 2011-o-3-kde 어제 오늘 그리고 내일
Devon 2011-o-3-kde 어제 오늘 그리고 내일
 
Dockerfile과 Bash
Dockerfile과 BashDockerfile과 Bash
Dockerfile과 Bash
 
Ffmpeg for android
Ffmpeg for androidFfmpeg for android
Ffmpeg for android
 
1.intro to k8s
1.intro to k8s1.intro to k8s
1.intro to k8s
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
 
가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 

En vedette

Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swiftJunho Kim
 
Docker registry swift_junojunho
Docker registry swift_junojunhoDocker registry swift_junojunho
Docker registry swift_junojunhoJunho Kim
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDaegwon Kim
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
포스테키안 서평공모전 당선작(2016-1)
포스테키안 서평공모전 당선작(2016-1)포스테키안 서평공모전 당선작(2016-1)
포스테키안 서평공모전 당선작(2016-1)POSTECH Library
 
국회입법조사처 발암성물질 관리체계 개선방안(2010)
국회입법조사처 발암성물질 관리체계 개선방안(2010)국회입법조사처 발암성물질 관리체계 개선방안(2010)
국회입법조사처 발암성물질 관리체계 개선방안(2010)여성환경연대
 
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!Seung Heun Noh
 
Introduce Docker
Introduce DockerIntroduce Docker
Introduce DockerYongbok Kim
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
005.총공급과 총수요
005.총공급과 총수요005.총공급과 총수요
005.총공급과 총수요Namun Cho
 
도커를 이용한 파이썬 모듈 배포하기
도커를 이용한 파이썬 모듈 배포하기도커를 이용한 파이썬 모듈 배포하기
도커를 이용한 파이썬 모듈 배포하기JunSeok Seo
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편negabaro
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101Daegwon Kim
 
Docker contribution slideshare
Docker contribution slideshareDocker contribution slideshare
Docker contribution slideshareHyeong-Kyu Lee
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
Docker기반 분산 플랫폼
Docker기반 분산 플랫폼Docker기반 분산 플랫폼
Docker기반 분산 플랫폼SeongHyun Jeong
 

En vedette (20)

정책가이드북
정책가이드북 정책가이드북
정책가이드북
 
Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swift
 
Docker registry swift_junojunho
Docker registry swift_junojunhoDocker registry swift_junojunho
Docker registry swift_junojunho
 
RZDESK-Docker hackday
RZDESK-Docker hackdayRZDESK-Docker hackday
RZDESK-Docker hackday
 
Pharos
PharosPharos
Pharos
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
포스테키안 서평공모전 당선작(2016-1)
포스테키안 서평공모전 당선작(2016-1)포스테키안 서평공모전 당선작(2016-1)
포스테키안 서평공모전 당선작(2016-1)
 
국회입법조사처 발암성물질 관리체계 개선방안(2010)
국회입법조사처 발암성물질 관리체계 개선방안(2010)국회입법조사처 발암성물질 관리체계 개선방안(2010)
국회입법조사처 발암성물질 관리체계 개선방안(2010)
 
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!
Docker 와 Python 으로 아카마이 API 5분만에 사용해보기!
 
Introduce Docker
Introduce DockerIntroduce Docker
Introduce Docker
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
005.총공급과 총수요
005.총공급과 총수요005.총공급과 총수요
005.총공급과 총수요
 
도커를 이용한 파이썬 모듈 배포하기
도커를 이용한 파이썬 모듈 배포하기도커를 이용한 파이썬 모듈 배포하기
도커를 이용한 파이썬 모듈 배포하기
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
 
Docker contribution slideshare
Docker contribution slideshareDocker contribution slideshare
Docker contribution slideshare
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)
 
Docker기반 분산 플랫폼
Docker기반 분산 플랫폼Docker기반 분산 플랫폼
Docker기반 분산 플랫폼
 

Similaire à boot2docker 사용시 컨테이너에서 생성한 데이터를 유지하기

[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Steve Shim
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong Choi
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Dongil Yeom
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화OpenStack Korea Community
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법GeunCheolYeom
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTHosang Jeon
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTLOGISPOT
 
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Sangcheol Hwang
 
Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교Gitaek kwon
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfLee Dong Wook
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3Ji-Woong Choi
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기iFunFactory Inc.
 
Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2XpressEngine
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideChan Shik Lim
 
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼ChoDae
 

Similaire à boot2docker 사용시 컨테이너에서 생성한 데이터를 유지하기 (20)

K8s in action02
K8s in action02K8s in action02
K8s in action02
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
 
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
 
Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdf
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기
 
Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical Guide
 
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼
 

Plus de 창훈 정

Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기창훈 정
 
개발자를 위한 Amazon Lightsail Deep-Dive
개발자를 위한 Amazon Lightsail Deep-Dive개발자를 위한 Amazon Lightsail Deep-Dive
개발자를 위한 Amazon Lightsail Deep-Dive창훈 정
 
AWS re:invent 2016 후기
AWS re:invent 2016 후기AWS re:invent 2016 후기
AWS re:invent 2016 후기창훈 정
 
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영창훈 정
 
형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영창훈 정
 
ActiveRecord Associations(2) - RORLab Season 3-8
ActiveRecord Associations(2) - RORLab Season 3-8ActiveRecord Associations(2) - RORLab Season 3-8
ActiveRecord Associations(2) - RORLab Season 3-8창훈 정
 
ActiveRecord Observers - RORLab Season 3-6
ActiveRecord Observers - RORLab Season 3-6ActiveRecord Observers - RORLab Season 3-6
ActiveRecord Observers - RORLab Season 3-6창훈 정
 
ActiveRecord Associations(1) - RORLab Season 3-7
ActiveRecord Associations(1) - RORLab Season 3-7ActiveRecord Associations(1) - RORLab Season 3-7
ActiveRecord Associations(1) - RORLab Season 3-7창훈 정
 
ActiveRecord Callbacks - RORLab Season 3-5
ActiveRecord Callbacks - RORLab Season 3-5ActiveRecord Callbacks - RORLab Season 3-5
ActiveRecord Callbacks - RORLab Season 3-5창훈 정
 
Rails Database Migrations - RORLab Season 3-3
Rails Database Migrations - RORLab Season 3-3Rails Database Migrations - RORLab Season 3-3
Rails Database Migrations - RORLab Season 3-3창훈 정
 
Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2창훈 정
 

Plus de 창훈 정 (12)

Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
 
개발자를 위한 Amazon Lightsail Deep-Dive
개발자를 위한 Amazon Lightsail Deep-Dive개발자를 위한 Amazon Lightsail Deep-Dive
개발자를 위한 Amazon Lightsail Deep-Dive
 
AWS re:invent 2016 후기
AWS re:invent 2016 후기AWS re:invent 2016 후기
AWS re:invent 2016 후기
 
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영
AWSKRUG 정기 세미나 (2016년 9월) - Lambda + S3 썸네일 생성 및 운영
 
형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영
 
ActiveRecord Associations(2) - RORLab Season 3-8
ActiveRecord Associations(2) - RORLab Season 3-8ActiveRecord Associations(2) - RORLab Season 3-8
ActiveRecord Associations(2) - RORLab Season 3-8
 
ActiveRecord Observers - RORLab Season 3-6
ActiveRecord Observers - RORLab Season 3-6ActiveRecord Observers - RORLab Season 3-6
ActiveRecord Observers - RORLab Season 3-6
 
ActiveRecord Associations(1) - RORLab Season 3-7
ActiveRecord Associations(1) - RORLab Season 3-7ActiveRecord Associations(1) - RORLab Season 3-7
ActiveRecord Associations(1) - RORLab Season 3-7
 
ActiveRecord Callbacks - RORLab Season 3-5
ActiveRecord Callbacks - RORLab Season 3-5ActiveRecord Callbacks - RORLab Season 3-5
ActiveRecord Callbacks - RORLab Season 3-5
 
Rails Database Migrations - RORLab Season 3-3
Rails Database Migrations - RORLab Season 3-3Rails Database Migrations - RORLab Season 3-3
Rails Database Migrations - RORLab Season 3-3
 
Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2
 
Vim for you
Vim for youVim for you
Vim for you
 

boot2docker 사용시 컨테이너에서 생성한 데이터를 유지하기

  • 1. Docker 코리아 캐주얼 토크 : boot2docker 사용시 컨테이너 에서 생성한 데이터를 유지하기
  • 2. # boot2docker 사용시 컨테이너에서 생성한 데이터를 유지하는 방법 * 호스트 컴퓨터의 /Users 폴더에 마운트 * boot2docker 가상머신 내부의 폴더에 마운트 * 볼륨 컨테이너 사용
  • 3. # 호스트 컴퓨터의 /Users 폴더에 마운트 ``` $ docker run -p 5432:5432 -v ~/postgresql:/var/lib/postgresql/data postgres:9.4 ``` ``` initdb: could not create directory "/var/lib/postgresql/data/global": Permission denied ```
  • 4. boot2docker 는 `bootdocker up` 실행시 다음과 같이 호스트 폴더를 VM 으로 마 운트 * Users share at /Users * /Users share at /Users * c/Users share at /c/Users * /c/Users share at /c/Users * c:/Users share at /c/Users
  • 5. boo2docker 에서 /Users 를 docker:staff 계정을 사용해 자동으로 마운트 컨테이너에서 새로운 계정 생성시 boot2docker 와 다른 UID/GID 를 가지게된다. 파일 생성과 삭제는 폴더 권한을 777로 변경해 해결 하지만 하드링크 생성은 VirtualBox의 버그로 (https://www.virtualbox.org/ticket/818) 여전히 동작하지 않는다. 관련 이슈 : https://github.com/boot2docker/boot2docker/issues/581#issuecomm ent-60309186 > 호스트의 데이터를 바로 읽을 경우 유용 > 불필요하게 호스트의 파일 및 폴더의 권한을 변경해야 해야 한다
  • 6. # boot2docker 가상머신 내부의 폴더에 마운트 ``` $ docker run -p 5432:5432 -v /var/lib/boot2docker/postgresql:/var/lib/postgresql/data postgres:9.4 ``` `boot2docker init` 명령어 실행시 다음 2개의 가상디스크를 생성하고 VM에 마운트 * /var/lib/docker * /var/lib/boot2docker > 가상 디스크는 `boot2docker delete` 명령어 실행시 삭제
  • 7. # 볼륨 컨테이너 사용 ``` $ docker run --name pg-data -v /var/lib/postgresql/data busybox $ docker run -p 5432:5432 --volumes-from pg-data postgres:9.4 ``` > 볼륨 컨테이너의 데이터는 `/var/lib/docker` 가 지워지지 않는한 유지
  • 8. # 결론 DB의 데이터를 유지 시키는 용도로 볼륨 컨테이너 사용, 호스트의 데이터를 읽기 위한 용도로 /Users 마운트