Edited at

DockerをMacにインストールする(更新: 2019/7/13)


はじめに :whale:

MacにDockerをインストールする方法についてまとめた記事です。

ザクザク行けば10分程度でnginxの起動までいけると思います。

この記事の目的はDockerに慣れることです。

よって、対象者は


  • Dockerやってみたい!ってずっと思ってる :cry:

  • でも、よくわからない。Dockerこわい :ghost:

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

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

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


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

公式サイトからDockerのアカウントを作ってログインし、DockerHubからダウンロードしてインストールします。

https://hub.docker.com/editions/community/docker-ce-desktop-mac

 2019-07-09 at 22.04.14.png

 2019-07-09 at 22.04.02.png

 2019-07-09 at 22.02.32.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の環境を構築する