はじめに
MacにDockerをインストールする方法についてまとめた記事です。
ザクザク行けば10分程度でnginxの起動までいけると思います。
この記事の目的はDockerに慣れることです。
よって、対象者は
- Dockerやってみたい!ってずっと思ってる
- でも、よくわからない。Dockerこわい
というDocker初心者向けとなります。
バージョンアップなどにより、手順が異なる可能性がありますのでご了承下さい。
また、@y_tsubukuが開発するyaritori - メール共有システムも、良ければご覧ください
Docker for Macをインストール
公式サイトからDockerのアカウントを作ってログインし、DockerHubからダウンロードしてインストールします。
https://hub.docker.com/editions/community/docker-ce-desktop-mac
正しくインストールされているか確認する
$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を起動してみる
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にアクセスしてブラウザで確認する
ちゃんと動いてる!
止めるときは 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を削除してみる
作ったコンテナやイメージを削除したいときはきっとくるはずなので、先に削除を試してみる。
コンテナの削除
コンテナを削除したい時は、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したり、コンテナを複数立ち上げて、コンテナ間で通信できるようにしてみましょう。(記事を書き次第、リンクさせる予定です。)
↓書きました
DockerでPHP7.0×Apacheの環境を構築する