概要
VirtualBox 上で docker-machine コマンドを試してみました
事前に VirtualBox および docker for Mac のインストールを行っておいてください
環境
- macOS X 10.12.6
- docker 17.09.0-ce
- docker-machine 0.12.2
- VirtualBox 5.1.26 r117224 (Qt5.6.2)
コンテナホストの作成
docker-machine には VirtualBox 用のドライバありこれを使うことで簡単にコンテナホストを作成することができます
docker-machine create --driver virtualbox dev
Creating CA: /Users/hawksnowlog/.docker/machine/certs/ca.pem
Creating client certificate: /Users/hawksnowlog/.docker/machine/certs/cert.pem
Running pre-create checks...
(dev) Image cache directory does not exist, creating it at /Users/hawksnowlog/.docker/machine/cache...
(dev) No default Boot2Docker ISO found locally, downloading the latest release...
(dev) Latest release for github.com/boot2docker/boot2docker is v17.09.0-ce
(dev) Downloading /Users/hawksnowlog/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v17.09.0-ce/boot2docker.iso...
(dev) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(dev) Copying /Users/hawksnowlog/.docker/machine/cache/boot2docker.iso to /Users/hawksnowlog/.docker/machine/machines/dev/boot2docker.iso...
(dev) Creating VirtualBox VM...
(dev) Creating SSH key...
(dev) Starting the VM...
(dev) Check network to re-create if needed...
(dev) Found a new host-only adapter: "vboxnet1"
(dev) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env dev
作成できたら確認してみましょう
- docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
dev - virtualbox Running tcp://192.168.99.100:2376 v17.09.0-ce
ホストオンリーアダプタ (vboxnet1) を自動で追加します
起動は boot2docker.iso を使って ISO からブートしています
VirtualBox を起動して GUI で確認することもできます
作成したコンテナホストでコンテナを起動してみる
ではコンテナを作成してみます
まず docker コマンドを対象のホストに対して実行できるように設定を読み込みます
eval $(docker-machine env dev)
これで dev コンテナホストに対して docker コマンドを投げられるようになりました
- docker run -d -p 80:80 nginx
で dev コンテナホスト上にコンテナが作成されます
先ほど docker-machine ls で確認できた IP の 80 番にアクセスしてみましょう
これで nginx のデフォルトのページが確認できると思います
ローカルではなく作成したコンテナホスト上でコンテナが起動しています
その他
コンテナホストの停止
停止後に ls を実行すると Stopped になっています
- docker-machine stop dev
コンテナホストの起動
--restart=always
でコンテナを作成していればコンテナホストの起動後でもコンテナが自動起動します
- docker-machine start dev
SSH ログイン
直接コンテナホストに入って docker コマンドを実行できます
- docker-machine ssh dev
最後に
VirtualBox 上で docker-machine を使ってコンテナホストを作成してみました
これを応用すれば docker swarm も簡単にできます
VirtualBox + docker swarm の検証もそのうち紹介できればと思います
0 件のコメント:
コメントを投稿