web-technical-blog

web開発に関する技術メモ

Docker for Macをインストール

公式サイトからDocker for Macをダウンロード https://docs.docker.com/docker-for-mac/install/

安定版をインストール

Stable Channel Get Docker For Mac(Stable)を選択する

  • インストールの確認
$ docker version
Client:
 Version:   17.12.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    c97c6d6
 Built: Wed Dec 27 20:03:51 2017
 OS/Arch:   darwin/amd64

Server:
 Engine:
  Version:  17.12.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   c97c6d6
  Built:    Wed Dec 27 20:12:29 2017
  OS/Arch:  linux/amd64
  Experimental: true

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

$ docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
e7bb522d92ff: Pull complete
6edc05228666: Pull complete
cd866a17e81f: Pull complete
Digest: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d
Status: Downloaded newer image for nginx:latest
6065bc5029d27705e2d0dfd007ff18a40b1625eabd84d6c1dbc36be6ecf2e3ac

nginxが起動しているかを確認するため、Dockerのプロセスをチェックする

$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
6065bc5029d2        nginx               "nginx -g 'daemon of…"   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp   webserver

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

起動を停止する際はdocker container stop {コンテナ名} 起動を開始する際はdocker container start {コンテナ名}}

$ docker container stop webserver
webserver

$ docker container start webserver 

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

$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
6065bc5029d2        nginx               "nginx -g 'daemon of…"   10 minutes ago      Exited (0) 3 seconds ago                       webserver

コンテナの削除

コンテナを削除したい場合は、docker container rm {コンテナ名} コンテナーは停止していないとエラーするので注意

$ docker container rm webserver
webserver

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

イメージを削除

イメージを削除したい時は、docker image rm {ID or image name}

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              3f8a4339aadd        5 weeks ago         108MB

$ docker image rm nginx
Untagged: nginx:latest
Untagged: nginx@sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d
Deleted: sha256:3f8a4339aadda5897b744682f5f774dc69991a81af8d715d37a616bb4c99edf5
Deleted: sha256:bb528503f6f01b70cd8de94372e1e3196fad3b28da2f69b105e95934263b0487
Deleted: sha256:410204d28a96d436e31842a740ad0c827f845d22e06f3b1ff19c3b22706c3ed4
Deleted: sha256:2ec5c0a4cb57c0af7c16ceda0b0a87a54f01f027ed33836a5669ca266cafe97a

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

参考URL qiita.com