基本的な使い方を学ぶために速習Docker的なことをしました
MacでDockerを使うために基本的な使い方を学習しました。
下記を読みながら、適宜読み替えたりググったりしてコマンドを実行してみました。
下記を読みながら、適宜読み替えたりググったりしてコマンドを実行してみました。
Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)
Docker実行環境の構築
brew install docker
brew install docker-machine
brew install docker-compose
brew install docker-machine
brew install docker-compose
Dockerマシンを作成しようとして失敗
TearTheSky-MacBook:~ TearTheSky$ docker-machine create --driver virtualbox test-dockerRunning pre-create checks...Error with pre-create check: "VirtualBox is configured with multiple host-only adapters with the same IP \"192.168.33.1\". Please remove one."TearTheSky-MacBook:~ TearTheSky$
VirtualBox上のDockerマシンの確認
TearTheSky-MacBook:~ TearTheSky$ docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORStest-docker - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ceTearTheSky-MacBook:~ TearTheSky$
Dockerコンテナを確認しようとして失敗
TearTheSky-MacBook:~ TearTheSky$ docker psCannot connect to the Docker daemon. Is the docker daemon running on this host?TearTheSky-MacBook:~ TearTheSky$
対処法
yoshida-no-MacBook-Pro:~ TearTheSky$ eval "$(docker-machine env test-docker)"TearTheSky-MacBook:~ TearTheSky$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESTearTheSky-MacBook:~ TearTheSky$
Dockerコンテナの作成
TearTheSky-MacBook:~ TearTheSky$ docker run -d -p 80:80 --name webserver nginxUnable to find image 'nginx:latest' locallylatest: Pulling from library/nginx6d827a3ef358: Pull completef8f2e0556751: Pull complete5c9972dca3fd: Pull complete451b9524cb06: Pull completeDigest: sha256:e6693c20186f837fc393390135d8a598a96a833917917789d63766cab6c59582Status: Downloaded newer image for nginx:latest61d1da7ae17cf573ceb51a99b213cb5e315150ce92ee8c23686898e28d603946TearTheSky-MacBook:~ TearTheSky$
Dockerコンテナの確認
TearTheSky-MacBook:~ TearTheSky$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES61d1da7ae17c nginx "nginx -g 'daemon off" 15 seconds ago Up 14 seconds 0.0.0.0:80->80/tcp, 443/tcp webserverTearTheSky-MacBook:~ TearTheSky$
Nginxの起動確認
ブラウザで「192.168.99.100」にアクセスするとNginxデフォルトページが表示される。
「192.168.99.100」はVirtualBox上のDockerコンテナホスト。
「192.168.99.100」はVirtualBox上のDockerコンテナホスト。
Dockerコンテナの削除
TearTheSky-MacBook:~ TearTheSky$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES61d1da7ae17c nginx "nginx -g 'daemon off" 25 minutes ago Up 25 minutes 0.0.0.0:80->80/tcp, 443/tcp webserverTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker rm webserverError response from daemon: You cannot remove a running container 61d1da7ae17cf573ceb51a99b213cb5e315150ce92ee8c23686898e28d603946. Stop the container before attempting removal or force removeTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker stop webserverwebserverTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker rm webserverwebserverTearTheSky-MacBook:~ TearTheSky$
VirtualBox上のDockerマシンの停止と削除
TearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORStest-docker * virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ceTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker-machine kill test-dockerKilling "test-docker"...Machine "test-docker" was killed.TearTheSky-MacBook:~ TearTheSky$ docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORStest-docker - virtualbox Stopped UnknownTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker-machine rm test-dockerAbout to remove test-dockerAre you sure? (y/n): ySuccessfully removed test-dockerTearTheSky-MacBook:~ TearTheSky$TearTheSky-MacBook:~ TearTheSky$ docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORSTearTheSky-MacBook:~ TearTheSky$
Docker for Macのインストールと利用
インストール
Docker Machine でコンテナを立てたような感じでコンテナを立てる
TearTheSky-MacBook:~ TearTheSky$ docker run -d -p 80:80 --name webserver nginx
TearTheSky-MacBook:~ TearTheSky$ docker ps
TearTheSky-MacBook:~ TearTheSky$ docker ps
Nginxの起動確認
ブラウザで「localhost」にアクセスするとNginxデフォルトページが表示される。
VirtualBoxには仮想マシンが存在しない。
VirtualBoxには仮想マシンが存在しない。
Docker Machine と Docker for Mac の違い
Docker Machine は 書籍上の Boot2Docker と同じ立ち位置で、Mac上にVirtualBoxを使って仮想マシンのLinuxを起動し、それをコンテナサーバとして、その中にコンテナを立てる。
Docker for Mac は Macbook 自身がコンテナサーバになる。
なのでVirtualBox上に仮想マシンは不要だし、起動されない。
Docker for Mac は Macbook 自身がコンテナサーバになる。
なのでVirtualBox上に仮想マシンは不要だし、起動されない。
なるほどなるほど。 基本の使い方は理解できました。
コメント
コメントを投稿