LoginSignup
18
18

More than 1 year has passed since last update.

boot2docker でボリュームの共有を行う

Last updated at Posted at 2014-06-22

はじめに

boot2docker を利用した docker cli から --volume, -v オプションは使うことができない。

boot2docker は VirtualBox に Docker がインストールされた最小構成の VM を作成し、docker コマンドは VM 内で起動している Docker デーモンに対して操作を行う形になっている。そのためホストとコンテナで共有を行うには、ホストと VM でディレクトリを共有し、その後 VM と Docker コンテナで共有する必要がある。

boot2docker together with VirtualBox Guest Additions — boot2docker — Lightweight Linux for Docker — Medium では VirtualBox で共有を行うために必要な VirtualBox Guest Additions をインストールした boot2docker イメージが紹介されているのでここではそのイメージを利用する。

外部から信頼できないイメージをダウンロードして利用しています。自己責任の範囲で利用してください。

% sw_vers
ProductName:    Mac OS X
ProductVersion: 10.9.3
BuildVersion:   13D65
% VBoxManage -v
4.3.12r93733
% boot2docker version
Client version: v1.0.0
Git commit: 2fef7b2

イメージのダウンロードからマウントまで

# イメージのダウンロード
% wget http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso -O ~/.boot2docker/boot2docker.iso
--2014-06-22 15:15:04--  http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso
Resolving static.dockerfiles.io... 205.251.242.147
Connecting to static.dockerfiles.io|205.251.242.147|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23068672 (22M) [application/octet-stream]
Saving to: ‘boot2docker.iso’

100%[=============================================================================================>] 23,068,672  2.21MB/s   in 19s

2014-06-22 15:15:24 (1.15 MB/s) - ‘boot2docker.iso’ saved [23068672/23068672]

# ダウンロードしたイメージから VM を作成
% boot2docker init
2014/06/22 15:15:34 Creating VM boot2docker-vm...
2014/06/22 15:15:35 Apply interim patch to VM boot2docker-vm (https://www.virtualbox.org/ticket/12748)
2014/06/22 15:15:35 Setting NIC #1 to use NAT network...
2014/06/22 15:15:35 Port forwarding [ssh] tcp://127.0.0.1:2022 --> :22
2014/06/22 15:15:35 Port forwarding [docker] tcp://127.0.0.1:2375 --> :2375
2014/06/22 15:15:35 Setting NIC #2 to use host-only network "vboxnet1"...
2014/06/22 15:15:35 Setting VM storage...
2014/06/22 15:15:41 Done. Type `boot2docker up` to start the VM.
# VBoxManage を使って `/Users` マウントの設定を行う
% VBoxManage sharedfolder add boot2docker-vm -name home -hostpath /Users
# VM を起動する
% boot2docker up
2014/06/22 15:15:47 Waiting for VM to be started...
.............
2014/06/22 15:16:10 Started.
2014/06/22 15:16:10 To connect the Docker client to the Docker daemon, please set:
2014/06/22 15:16:10     export DOCKER_HOST=tcp://192.168.59.112:2375
% export DOCKER_HOST=tcp://192.168.59.112:2375
# 正しくマウントされているか確認する
% boot2docker ssh ls /Users
Shared
superbrothers

docker run -v でボリュームを共有する

% docker pull ubuntu:latest
Pulling repository ubuntu
e54ca5efa2e9: Download complete
511136ea3c5a: Download complete
d7ac5e4f1812: Download complete
2f4b4d6a4a06: Download complete
83ff768040a0: Download complete
6c37f792ddac: Download complete
% cd ~/.boot2docker
% ls
boot2docker-vm.sock  boot2docker.iso  boot2docker.iso.bak
# `-v` オプションを使ってボリュームを共有する
% docker run -it -v `pwd`:/boot2docker ubuntu ls /boot2docker
boot2docker-vm.sock  boot2docker.iso  boot2docker.iso.bak
18
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18