[Docker] Docker for Mac 入門
いろいろ変わっているようなので、手を動かしてみる。
[markdown]
技術評論社
売り上げランキング: 237,581
前回、Vagrant を利用して導入してみた。
> * [Docker for Linux 入門 | deadwood](https://www.d-wood.com/blog/2016/06/30_8231.html)
Docker for Mac, Windows が public beta リリースされたので動かしてみる。
以下の段取りになるのかなと想像。
1. VirtualBox(Vagrant) 上に Ubuntu をインストール。
2. Ubuntu macOS 上に Docker をインストール。
3. Docker 上でコンテナを実行する。
## インストール
Docker for Mac をインストールする。
> * [Getting Started](https://docs.docker.com/docker-for-mac/)
`brew cask install` する。
“`prettyprinted
% brew cask info docker
docker: 1.12.0.9493
Docker for Mac
https://www.docker.com/products/docker
Not installed
https://github.com/caskroom/homebrew-cask/blob/master/Casks/docker.rb
==> Contents
Docker.app (app)
% brew cask install docker
“`
アプリケーションとしてインストールされる。
Cask のバージョンが古いようで、アプリ起動後にバージョンアップを行った。
ターミナルで確認。導入がめっさ簡単だ。
“`prettyprinted
% docker version
Client:
Version: 1.12.0-rc2
API version: 1.24
Go version: go1.6.2
Git commit: 906eacd
Built: Fri Jun 17 20:35:33 2016
OS/Arch: darwin/amd64
Experimental: true
Server:
Version: 1.12.0-rc2
API version: 1.24
Go version: go1.6.2
Git commit: a7119de
Built: Wed Jun 29 10:03:33 2016
OS/Arch: linux/amd64
Experimental: true
“`
前回と同じく、nginx をインストールして動作を確認する。
“`prettyprinted
% docker run -d -p 8080:80 nginx
Unable to find image ‘nginx:latest’ locally
latest: Pulling from library/nginx
51f5c6a04d83: Pull complete
a3ed95caeb02: Pull complete
51d229e136d0: Pull complete
bcd41daec8cc: Pull complete
Digest: sha256:0fe6413f3e30fcc5920bc8fa769280975b10b1c26721de956e1428b9e2f29d04
Status: Downloaded newer image for nginx:latest
b6a486da7ad33b505414808b083aba016e6666f48c82ac0ace46237c7e1d2143
“`
localhost:8080 を開くとあっさり表示される。
もっさ楽ですね。
## Dockerfile
前回ファイルシステム絡みのエラーで失敗した `build` に再挑戦してみる。
カレントディレクトリに Dockerfile を作成する。
“`text:Dockerfile
FROM centos
MAINTAINER deadwood
# RUN: build するときに実行される
RUN yum install -y httpd
# ADD: host に存在するファイルを取り込む
ADD ./index.html /var/www/html/
# EXPOSE: Port 80 を開ける
EXPOSE 80
# CMD: RUN するときに実行される
CMD [“/usr/sbin/httpd”, “-D”, “FOREGROUND”]
“`
さらにサンプルファイルを用意する。
“`html:index.html
Hello, Docker for Mac
“`
`build` を実行する。
“`prettyprinted
% docker build -t “deadwood/httpd” .
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
deadwood/httpd latest b972b8b9a627 29 seconds ago 316.7 MB
centos latest 904d6c400333 3 weeks ago 196.8 MB
nginx latest 0d409d33b27e 4 weeks ago 182.8 MB
“`
作成したイメージを元に、コンテナを実行する。
“`prettyprinted
% docker run -dp 8080:80 deadwood/httpd
0080d49f255931620dfedb295ff72f60b3cce77aa7066b349a6c49d357d03a20
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0080d49f2559 deadwood/httpd “/usr/sbin/httpd -D F” 5 seconds ago Up 4 seconds 0.0.0.0:8080->80/tcp cranky_mayer
“`
localhost:8080 をブラウザで開くとあっさり成功。
[/markdown]