LoginSignup
22
19

More than 5 years have passed since last update.

MacにDocker

Last updated at Posted at 2016-08-20

参考

http://qiita.com/hshimo/items/e24b1fbfbf775ec7c941
http://paiza.hatenablog.com/entry/docker_for_mac
http://www.shoeisha.co.jp/book/detail/9784798141022

環境

ホスト

MacBook
Mac OS X El Capitan ver10.11.6

機種名:             MacBook
機種 ID:            MacBook8,1
プロセッサ名:         Intel Core M
プロセッサ速度:        1.3 GHz
プロセッサの個数:      1
コアの総数:           2
二次キャッシュ(コア単位): 256 KB
三次キャッシュ:         4 MB
メモリ:               8 GB

Docker

https://www.docker.com/
ver1.12.0-a

インストール

公式:https://docs.docker.com/docker-for-mac/

  • Download Docker for Mac からdmgファイルをダウンロードしてインストール
  • 成功してツールバーにクジラが表示されたら、そこにポップアップされてた以下をとりあえず実行
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.0
...(省略)

$ 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 images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

バージョン確認

公式に従って

$ 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

Hello World

公式に従って

$ docker run hello-world
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              c54a2cc56cbb        7 weeks ago         1.848 kB

OKなのかな?

Nginx

公式に従って

起動

$ docker run -d -p 80:80 --name webserver nginx
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              c54a2cc56cbb        7 weeks ago         1.848 kB
nginx               latest              0d409d33b27e        11 weeks ago        182.8 MB
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
ab4544965a83        nginx               "nginx -g 'daemon off"   20 minutes ago      Up 20 minutes       0.0.0.0:80->80/tcp, 443/tcp   webserver

http://localhost にアクセス
スクリーンショット 2016-08-20 13.24.37.png

イケたっぽい

停止

$ docker stop webserver
webserver
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Dockerホストに入る

参考にしたがって

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
Welcome to Moby alpha
Kernel 4.4.15-moby on an x86_64 (/dev/ttyS0)

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/

moby login: root
Welcome to the Moby alpha, based on Alpine Linux.
moby:~#

# 「Ctrl+a k」で抜けられます

Kitematic

  • ツールバーのクジラをクリックして、「Open Kitematic」をクリックします。
  • ポップアップの中のリンクをクリックしてzipファイルをダウンロード。
  • 解凍して、appファイルを実行。
  • Kitematic(Beta)が起動します。 スクリーンショット 2016-08-20 14.13.47.png
  • Docke Cloud に登録した情報でログインします。 スクリーンショット 2016-08-20 14.23.06.png
  • Docker Hubに公開されているイメージから、試しに「hello-world-nginx」を選択し「CREATE」
  • イメージが追加されて実行されています。
$ docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
hello-world                   latest              c54a2cc56cbb        7 weeks ago         1.848 kB
nginx                         latest              0d409d33b27e        11 weeks ago        182.8 MB
kitematic/hello-world-nginx   latest              03b4557ad7b9        14 months ago       7.913 MB
$ docker ps
CONTAINER ID        IMAGE                                COMMAND             CREATED             STATUS              PORTS                   NAMES
2841afa972c6        kitematic/hello-world-nginx:latest   "sh /start.sh"      3 minutes ago       Up 3 minutes        0.0.0.0:32768->80/tcp   hello-world-nginx

Dockerイメージの操作

CentOSのイメージを取得します
https://hub.docker.com/_/centos/

イメージの取得

イメージ取得コマンド

$ docker pull [オプション] イメージ名[:タグ名]

最新

$ docker pull centos:latest

タグを指定

$ docker pull centos:7

全てのタグのイメージを取得

$ docker pull -a centos

取得先URLを指定

$ docker pull registry.hub.docker.com/centos:7

取得したイメージの確認

$ docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
centos                        latest              970633036444        3 weeks ago         196.7 MB  ★
hello-world                   latest              c54a2cc56cbb        7 weeks ago         1.848 kB
nginx                         latest              0d409d33b27e        11 weeks ago        182.8 MB
kitematic/hello-world-nginx   latest              03b4557ad7b9        14 months ago       7.913 MB

イメージの詳細表示

$ docker inspect [オプション] コンテナ識別子orイメージ識別子
$ docker inspect centos

イメージの検索

$ docker search [オプション] 検索キーワード
$ docker search centos

イメージの削除

$ docker rmi [オプション] イメージ名
$ docker rmi centos

イメージのtag設定

centos7のイメージを取得して、Docker Hubのユーザ名でイメージ名mycentos、バージョン1.0でtag設定

イメージの取得

$ docker pull centos:7 

取得したイメージの確認

$ docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos                     7                   980e0e4c79ec        4 weeks ago         196.8 MB

tag設定

$ docker tag centos:7 <Docker Hubのユーザ名>/mycentos:1.0

tag設定確認

$ docker images
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
centos                                   7                   980e0e4c79ec        4 weeks ago         196.8 MB
<Docker Hubのユーザ名>/mycentos            1.0                 980e0e4c79ec        4 weeks ago         196.8 MB

この時、tag設定したイメージともとのイメージのIMAGE IDが同じになっていることを確認

イメージのアップロード(Docker Hubにアップロード)

Docker Hubにログインして、アップロード、ログアウトします

Docker Hubにログイン

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: <Docker Hubのユーザ名>
Password: <パスワード>
Login Succeeded

ユーザ名とパスワードはdocker loginコマンドのオプションで指定することも可能です。

$ docker login -u <Docker Hubのユーザ名> -p <パスワード>
Login Succeeded

イメージのアップロード

$ docker push <Docker Hubのユーザ名>/イメージ名[:タグ名]

Docker Hubからログアウト

$ docker logout

コンテナからイメージの作成

Dockerfile

Docker Compose

 

22
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
19