以前 Windows 上に構築した Docker 環境を Docker Toolbox (Docker インストーラ) を使わずに最新バージョンアップしたときの手順メモ。
バージョンアップ前の Docker 環境
- VirtualBox 4.3.28
- docker 1.8.1
- docker-machine 0.4.1
イメージ、コンテナのバックアップ
docker-machine v0.4.1 で作成したホストマシンは v0.6.0 では動作しないため、新しい環境でも使用したいイメージやコンテナはあらかじめバックアップしておきます。
イメージのエクスポート
$ docker save centos > centos.image.tar
コンテナのエクスポート
$ docker export busybox_1 > busybox_1.container.tar
VirtualBox のバージョンアップ
以下のサイトから最新の Windows 版 VirtualBox をダウンロードしてインストールします。
上書きインストールで問題ありません。
docker-machine v0.5.2 のインストール
docker-machine v0.5.2 の各種仮想マシンドライバが必要になるため、v0.6.0 の前にインストールします。
$ curl -L https://github.com/docker/machine/releases/download/v0.5.2/docker-machine_windows-amd64.zip > machine.zip $ unzip machine.zip $ rm machine.zip $ mv -f docker-machine* /bin
Dokcer 関連コマンドのバージョンアップ
msysgit のシェル上で以下のコマンドを入力します。
$ curl -L https://get.docker.com/builds/Windows/x86_64/docker-1.10.3.exe > /bin/docker $ curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-Windows-x86_64.exe > /bin/docker-machine
動作確認
$ docker -v Docker version 1.10.3, build 20f81dd $ docker-machine -v docker-machine version 0.6.0, build e27fb87
ホストマシンの作成
docker-machine v0.6.0 でホストマシンを作成します。
$ docker-machine create --driver virtualbox --virtualbox-memory 2048 --virtualbox-disk-size 40000 dev2
ホストマシンの確認
$ docker-macine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKR ERRORS dev - virtualbox Stopped Unknwn dev2 * virtualbox Running tcp://192.168.99.100:2376 v1.10.3
docker-machine ssh でログイン
$ docker-machine ssh dev2 ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| Boot2Docker version 1.10.3, build master : 625117e - Thu Mar 10 22:09:02 UTC 2016 Docker version 1.10.3, build 20f81dd
イメージ、コンテナのインポート
新しく作成したホストマシンにイメージ、コンテナをインポートします。
イメージのインポート
$ docker load < centos.image.tar
コンテナのインポート
$ cat busybox_1.container.tar | docker import - busybox_1:latest