ほげほげ

プログラミング、英会話、ヨガ、料理などの備忘録など。

初めてのDocker インストールからサンプル実行まで

dockerで開発環境の構築をしようと思い、試してみました。 docker run コマンドでDBやWebサーバーを立ち上げられるので、すぐに開発環境が構築できる。

概要

  • DockerはVM立ち上げるよりも低コスト(時間,マシンリソース)で開発環境の構築ができる。
  • ファイルシステムを含めたイメージの共有が可能。
  • Sandbox内に構築するのでホストの環境を汚さない。
  • コンテナ型

インストール

インストール

1.ダウンロードページからdmgをダウンロードし、インストールする 1.パスワードが求められたら入力 1.メニューバーにクジラアイコンが表示されたら、ターミナルを起動してdockerコマンドが使用できるか確認する

$ docker version
Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

Dockerエンジン、コンポーズ、マシーンのバージョンのチェック

$ docker --version
Docker version 1.12.0, build 8eab29e
$ docker-compose --version
docker-compose version 1.8.0, build f3628c7
$ docker-machine --version
docker-machine version 0.8.0, build b85aac1

実際のバージョンはこれと異なっても構わない。

サンプル実行

runしようとしているイメージがない場合は、Docker HUBからpullされる。

hello world

docker run hello-world

コンソールにHello from Docker!と表示されればOK

Nginxを起動

docker run -d -p 80:80 --name webserver nginx

http://localhost でNginxの初期ページが表示されていればOK. 80:80はlocalhostの80をコンテナの80にフォワードする設定. webserverが起動した状態でdocker psを実行すると、webserverコンテナの詳細を確認できる。

他にもサンプルを見たい場合はこちら

設定

メニューバーのクジラアイコン→preferencesから色々設定できる

bash completion対応

以下のコマンドでbash completionに対応できる

cd /usr/local/etc/bash_completion.d
ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

用語