Dockerに馴染むべく、以下の例をなぞってみる。
VagrantとDockerについて名前しか知らなかったので試した – Qiita
http://qiita.com/hidekuro/items/fc12344d36d996198e96
1. ゲストOSとしてUbuntu14.04を導入
> mkdir c:\temp\ubuntu14.04 > cd c:\temp\ubuntu14.04 > vagrant init --minimal ubuntu/trusty64 > vagrant up
先にBoxを追加してからinitしても同じこと。
> vagrant box add ubuntu/trusty64 > mkdir c:\temp\ubuntu14.04 > cd c:\temp\ubuntu14.04 > vagrant init ubuntu/trusty64 > vagrant up
2. DockerをゲストOSに導入
VagrantのDocker Provisionerを使うと楽らしい。
プロビジョニングはvagrant upした際に自動的に実行される機能で、ソフトウェアを自動インストールするためなどに使う。
Vagrantfileを編集
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision "docker" ←追加 end
> vagrant provision
3. Dockerイメージの作成
bashを起動するだけのイメージを作成してみる。
作業ディレクトリを作成。
$ mkdir docker $ cd docker
Dockerファイルを作成。
$ vi Dockerfile FROM ubuntu:trusty MAINTAINER 84kure CMD ["/bin/bash"]
イメージをビルド。
$ docker build -t 84kure/test1 .
以下オプション。
-t | イメージにタグ付け |
. | Dockerfileのパス |
コンテナを作成。
$ docker run -i -t -v /vagrant:/tmp/shared --name="test1" 84kure/test1
以下オプション。
-i | 対話モード |
-t | 擬似ターミナル割り当て |
-v | /vagrantを/tmp/sharedにマウント |
–name=”test1″ | コンテナに名前付け |
84kure/test1 | イメージ指定 |
bashが実行される。
root@1503b7d1d158:/# exit ←bashを終了 $ ←コンテナ終了して戻る
コンテナを確認。
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1503b7d1d158 84kure/test1:latest "/bin/bash" 2 minutes ago Exited (0) 9 seconds ago test1
コンテナを捨てる。
$ docker rm 1503b
4. Dockerイメージの作成を自動化
Vagrantfile
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision "docker" do |d| d.build_image "/home/vagrant/docker", args: "-t 84kure/test-image" d.run "84kure/test-image", args: "-d -t -v /vagrant:/tmp/shared" end end
> vagrant reload --provision
以上、超入門。