Opensourcetechブログ

OpensourcetechによるNGINX/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Docker Toolboxの動作の仕方・コンテナ実行環境(defaultという名のVM)へのアクセスについて

 

こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。

 

Docker自体は色々な環境で利用することが出来ますが、

Windows10 Homeで利用する際は Hyper-Vが利用できないので、 Docker Toolboxを使います。

f:id:opensourcetech:20200524203202p:plain

https://docs.docker.com/toolbox/toolbox_install_windows/

f:id:opensourcetech:20200524203300p:plain

https://github.com/docker/toolbox/releases



Docker Toolboxってどのように動作してるの?

Docker Toolboxですが、

Docker実行する環境として仮想マシン(VM)を使っています。

その仮想マシンはというと、Docker Toolboxと一緒にインストールするVirtualbox上で「default」という名前の仮想マシンとなります。

f:id:opensourcetech:20200524203740p:plain

NICを二つ備えており、一つはNATで外部へ通信するため、もう一つはホストオンリーアダプターでホストOSとのみ通信できるものです。

 

インストール後できるショートカットやスタートメニューからDocker Toolboxを起動すると、裏でVirtualbox上のVMが立ち上がり、そこへ接続されたターミナルからコンテナ操作ができるというものです。

f:id:opensourcetech:20200524203928p:plain

f:id:opensourcetech:20200524203910p:plain

なお、ホストOSなどからコンテナで展開されたサービスにアクセスするには、ターミナルで表示されるIPアドレス(上記の場合、192.168.99.102)を使います。

 

そのあたりについては、以下の記事で紹介しているのでください。

www.opensourcetech.tokyo

 

 

defaultってどんな仮想マシンなのよ?

コンテナが動作できるのはわかりますが、単純にdefaultってどんな仮想マシンなんよって気になりますよね。

 

ということでちょっと調べてみました。

 

defaultへのアクセスですが、ターミナルソフトから192.168.99.102にsshアクセスします。

f:id:opensourcetech:20200524204639p:plain

 

で、問題は認証。

ユーザー名とパスワードって何使うんやって謎があります。

f:id:opensourcetech:20200524204704p:plain

 

正解は、ユーザー名:docker、パスフレーズ:tcuserを使います。

f:id:opensourcetech:20200524204806p:plain

 

すると、以下のようにdefaultにログインできます。

f:id:opensourcetech:20200524205018p:plain

 

 defaultで使われているLinuxカーネルなどは、以下になります。

docker@default:~$ uname -a
Linux default 4.14.154-boot2docker #1 SMP Thu Nov 14 19:19:08 UTC 2019 x86_64 GNU/Linux
docker@default:~$ cat /etc/os-release
NAME=Boot2Docker
VERSION=19.03.5
ID=boot2docker
ID_LIKE=tcl
VERSION_ID=19.03.5
PRETTY_NAME="Boot2Docker 19.03.5 (TCL 10.1)"
ANSI_COLOR="1;34"
HOME_URL="https://github.com/boot2docker/boot2docker"
SUPPORT_URL="https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/"
BUG_REPORT_URL="https://github.com/boot2docker/boot2docker/issues"

 

ここからdockerコマンドの実行も可能となっています。

docker@default:~$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
zabbix/zabbix-web-nginx-pgsql centos-latest 0432de70f62f 10 days ago 430MB
dev_nginx version1 58c7c751931d 2 weeks ago 127MB
sample/nginx latest 4cf1a6d017d5 2 weeks ago 321MB
nginx latest 602e111c06b6 4 weeks ago 127MB
zabbix/zabbix-appliance latest 663a9b177b54 3 months ago 383MB
centos latest 470671670cac 4 months ago 237MB

 

 

まとめ

つまり、Docker Toolboxではコンテナ実行環境としてLinux(VM)を使っており、Linuxカーネルではバージョン前後に互換性を持たせることを強く意識して作られているので、様々なコンテナが実行できるというものになります。

 

 

 

 

 

アフィリエイトのアクセストレード

 

 

 

 

 

 

www.slideshare.net

github.com

www.facebook.com

twitter.com

www.instagram.com

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

 

Opensourcetech by Takahiro Kujirai