ݺߣ

ݺߣShare a Scribd company logo
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 마운트

More Related Content

What's hot (14)

RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS Introduction
Remotty
도커 학습과 Boot2Docker
도커 학습과 Boot2Docker도커 학습과 Boot2Docker
도커 학습과 Boot2Docker
pyrasis
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치
choi sungwook
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과 Bash
pyrasis
Ffmpeg for android
Ffmpeg for androidFfmpeg for android
Ffmpeg for android
seunghyuk choi
1.intro to k8s
1.intro to k8s1.intro to k8s
1.intro to k8s
Hongmin Park
[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
Nomad Connection, Inc.
Docker introduction
Docker introductionDocker introduction
Docker introduction
Daegwon Kim
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
Wooyoung Ko
가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기
pyrasis
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
Jong Wook Kim
RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS Introduction
Remotty
도커 학습과 Boot2Docker
도커 학습과 Boot2Docker도커 학습과 Boot2Docker
도커 학습과 Boot2Docker
pyrasis
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치
choi sungwook
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과 Bash
pyrasis
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
Wooyoung Ko
가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기가장 빨리 만나는 Docker 출간 후기
가장 빨리 만나는 Docker 출간 후기
pyrasis
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
Jong Wook Kim

Viewers also liked (20)

정책갶이드북
정책갶이드북 정책갶이드북
정책갶이드북
Gori Communication
Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swift
Junho Kim
Docker registry swift_junojunho
Docker registry swift_junojunhoDocker registry swift_junojunho
Docker registry swift_junojunho
Junho Kim
RZDESK-Docker hackday
RZDESK-Docker hackdayRZDESK-Docker hackday
RZDESK-Docker hackday
Hyeong-Kyu Lee
Pharos
PharosPharos
Pharos
SeongHyun Jeong
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
Daegwon 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 Cloud
Jude 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 Docker
Yongbok 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 101
Daegwon Kim
Docker contribution slideshare
Docker contribution slideshareDocker contribution slideshare
Docker contribution slideshare
Hyeong-Kyu Lee
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XpressEngine
Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)
유명환 FunFun Yoo
Docker기반 분산 플랫폼
Docker기반 분산 플랫폼Docker기반 분산 플랫폼
Docker기반 분산 플랫폼
SeongHyun Jeong
Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swift
Junho Kim
Docker registry swift_junojunho
Docker registry swift_junojunhoDocker registry swift_junojunho
Docker registry swift_junojunho
Junho 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-sysmond
Daegwon 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 Cloud
Jude 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
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 101
Daegwon Kim
Docker contribution slideshare
Docker contribution slideshareDocker contribution slideshare
Docker contribution slideshare
Hyeong-Kyu Lee
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XpressEngine

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

K8s in action02
K8s in action02K8s in action02
K8s in action02
Sunggon Song
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
Ji-Woong Choi
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
Steve 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-v11
Dongil 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 - LOGISPOT
Hosang Jeon
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
LOGISPOT
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Sangcheol Hwang
Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교
Gitaek kwon
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
Lee Dong Wook
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
Ji-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 #2
XpressEngine
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
Open Source Consulting
[오픈소스컨설팅] 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 Guide
Chan Shik Lim
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼
ChoDae
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
Ji-Woong Choi
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
Steve 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-v11
Dongil 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 - LOGISPOT
Hosang Jeon
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
LOGISPOT
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Sangcheol Hwang
Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교Rb vs wp 로드타임 성능비교
Rb vs wp 로드타임 성능비교
Gitaek kwon
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
DzٲᅵᆯƳ_ᆾ_ᅵᅥƵᆼ.
Lee Dong Wook
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
Ji-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 #2
XpressEngine
[오픈소스컨설팅] 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 Guide
Chan Shik Lim
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼
ChoDae

More from 창훈 정 (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
창훈 정
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
창훈 정

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 마운트