Mac
install
docker

DockerをMacにインストールする (更新:2018/5/14)

はじめに :whale:

MacにDockerをインストールする方法についてまとめた記事です。
ザクザク行けば10分程度でnginxの起動までいけると思います。
この記事の目的はDockerに慣れることです。

よって、対象者は

  • Dockerやってみたい!ってずっと思ってる :cry:
  • でも、よくわからない。Dockerこわい :ghost:

というDocker初心者向けとなります。

バージョンアップなどにより、手順が異なる可能性がありますのでご了承下さい。

また、@y_tsubukuが所属するユリシーズでは採用もしておりますので、良ければご覧ください :tada:

Docker for Macをインストール :package:

公式サイトからDocker for Macをダウンロードしてインストールします。
https://docs.docker.com/docker-for-mac/install/

Install_Docker_for_Mac___Docker_Documentation.png

Docker_Community_Edition_for_Mac_-_Docker_Store.png

正しくインストールされているか確認する

$docker version
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Tue Mar 28 00:40:02 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:00:50 2017
 OS/Arch:      linux/amd64
 Experimental: true

nginxを起動してみる :rocket:

docker run -d -p 80:80 --name {コンテナ名} nginx
を実行すると、nginxを80番ポートで起動してくれる。
docker imageがローカルで見つからない場合は、Docker Hubからpullしてくれる。賢い。

試しに、コンテナ名は webserverとしましょう。

$docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally

latest: Pulling from library/nginx
ff3d52d8f55f: Pull complete 
b05436c68d6a: Pull complete 
961dd3f5d836: Pull complete 
Digest: sha256:12d30ce421ad530494d588f87b2328ddc3cae666e77ea1ae5ac3a6661e52cde6
Status: Downloaded newer image for nginx:latest
edb359e954413f077b515f2fca388d2292294bd170ff7d2d3b0ec74f8716cd1a

nginxが立ち上がっているかを確認するため、Dockerのプロセスをチェックする

$docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
edb359e95441        nginx               "nginx -g 'daemon ..."   9 minutes ago       Up 9 minutes        0.0.0.0:80->80/tcp   webserver

localhostにアクセスしてブラウザで確認する

Welcome_to_nginx_.png

ちゃんと動いてる!

止めるときは docker container stop {コンテナ名}で止めることができる。
もう一回起動したい場合は、$docker container start {コンテナ名}でOK!

$docker container stop webserver
webserver

$docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$docker container start webserver
webserver

ちなみに、 docker container ls -aだと起動していない状態のコンテナも表示することができる。

$docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
edb359e95441        nginx               "nginx -g 'daemon ..."   45 minutes ago      Exited (0) 17 minutes ago                       webserver

nginxを削除してみる :x:

作ったコンテナやイメージを削除したいときはきっとくるはずなので、先に削除を試してみる。

コンテナの削除

コンテナを削除したい時は、docker container rm {コンテナ名}を使用する。

$docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
edb359e95441        nginx               "nginx -g 'daemon ..."   48 minutes ago      Exited (0) 20 minutes ago                       webserver

$docker container rm webserver
webserver

$docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

イメージの削除

イメージを削除したい時は、docker image rm {IDもしくは image name}で削除できる

$docker image rm nginx
Untagged: nginx:latest
Untagged: nginx@sha256:12d30ce421ad530494d588f87b2328ddc3cae666e77ea1ae5ac3a6661e52cde6
Deleted: sha256:3448f27c273f3122fc554d7acf33796efb4df2ad9886efc092c3bfe716e897b7
Deleted: sha256:8c9de914a431b97e5df6e45ca5032d28d90e01e56e4824edd654e1311f0b9fae
Deleted: sha256:28f6824ebf777f77931a2e27dadc3d092a62f78b5d28851542135411981b2f99
Deleted: sha256:8781ec54ba04ce83ebcdb5d0bf0b2bb643e1234a1c6c8bec65e8d4b20e58a90d

docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

終わりに

Dockerに少し慣れることはできましたでしょうか。
次はDocker Hubから別のイメージをpullしたり、コンテナを複数立ち上げて、コンテナ間で通信できるようにしてみましょう。(記事を書き次第、リンクさせる予定です。)
↓書きました :tada:
DockerでPHP7.0×Apacheの環境を構築する