LoginSignup
11
9

More than 5 years have passed since last update.

# Docker初心者による、初心者のためのDocker入門 #5 よく使うコマンド編

Last updated at Posted at 2016-09-25

この記事で使っているdockerは以下の通りです。

Docker version 1.12.1, build 6f9534c

ここまでチュートリアル的なものを4編やってきました。

Docker初心者による、初心者のためのDocker入門 #1
http://qiita.com/furu8ma/items/e8249ddd48fab42eb7a3

Docker初心者による、初心者のためのDocker入門 #2
DockerfileでApache+PHPの環境を構築する
http://qiita.com/furu8ma/items/5d0c35c29e53429e4f10

Docker初心者による、初心者のためのDocker入門 #3
DockerでapacheとMemcachedを起動してPHP7から接続してみる
http://qiita.com/furu8ma/items/10be650bc38b170b8cc6

Docker初心者による、初心者のためのDocker入門 #4
DockerでapacheとMemcachedを起動してPHP5.4から接続してみる
http://qiita.com/furu8ma/items/10be650bc38b170b8cc6

手元のPC上でDockerを使う分にはだいぶ困らなくなってきたのでは、と思います。
ここらでユーケース別に使用するDockerコマンドをまとめてみます。

docker imageをpullしすぎて容量が足りない

2G超とかどてかいイメージもあるのでガンガンpullしてるとわりとすぐ発生しますね。

そんな時はまず手元にあるimageを確認

$ docker images
REPOSITORY                                                 TAG                 IMAGE ID            CREATED             SIZE
wordpress                                                  latest              88e010fa60ea        43 hours ago        419.4 MB
redis                                                      latest              d017c068a149        44 hours ago        182.9 MB
mysql                                                      latest              18f13d72f7f0        47 hours ago        383.4 MB
sameersbn/gitlab                                           latest              5b2ae4a2a4a4        3 days ago          758.7 MB
nginx                                                      latest              4efb2fcdb1ab        4 weeks ago         183.4 MB
memcached                                                  1.4                 bb1778ef7d3a        4 weeks ago         128.2 MB
centos                                                     6                   a3c09d36ab4a        8 weeks ago         194.6 MB
centos                                                     6.8                 a374fd62f97f        12 weeks ago        194.5 MB

こんな感じで手元にあるimageが全て表示されます。この中で例えばngixを消したい場合には

$ docker rmi 4efb2fcdb1ab   #nginxのIMAGEID

Untagged: nginx:latest
Untagged: nginx@sha256:d33834dd25d330da75dccd8add3ae2c9d7bb97f502b421b02cecb6cb7b34a1b6
Deleted: sha256:4efb2fcdb1ab05fb03c9435234343c1cc65289eeb016be86193e88d3a5d84f6b
Deleted: sha256:cecce1fbb03126a5fdc7a04401af744f060da808d33efb6872f689b3b4792b9e
Deleted: sha256:d53955d1e5caf011fc6b877266af9db6c575517c791dd1cd59ee1cf00e06086a

このイメージに依存しいてるイメージがなければさくっと消えます。
ちなみに、IMAGEIDはフルで指定する必要はなく、先頭の3文字くらいでもOKです。この場合4efでもOK。
ようは手元にあるimageの中で一意に識別できる部分だけで良いということです。楽ですね〜。

今走っているdockerコンテナを確認したい

コンテナは勝手にお亡くなりになることもよくあるので、今存命中のコンテナを確認したいこともよくあります。
そんなときは

$ docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                NAMES
a81565c00340        wordpress                "/entrypoint.sh apach"   46 seconds ago      Up 6 seconds        0.0.0.0:80->80/tcp   tmp_wordpress_1
a64041f63295        mysql                    "docker-entrypoint.sh"   47 seconds ago      Up 7 seconds        3306/tcp             tmp_mysql_1
9b06bdf8dc6a        sameersbn/mysql:latest   "/sbin/entrypoint.sh "   47 minutes ago      Up 45 minutes       3306/tcp             tmp_gitlab-mysql_1
4c31d20f9190        sameersbn/redis:latest   "/sbin/entrypoint.sh"    47 minutes ago      Up 45 minutes       6379/tcp             tmp_gitlab-redis_1

走っているコンテナがたくさん見えます。

今走っているdockerコンテナを停止したい

そんな時はdocker psでCONTAINER IDを確認したあと

$ docker  kill 4c31d20f9190 # killしたいCONTAINER ID

で停止します。

既に停止したコンテナも含めて全て確認したい

停止したコンテナ群も含めて全て確認できます。

$ docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                            PORTS                NAMES
a81565c00340        wordpress                 "/entrypoint.sh apach"   5 minutes ago       Up 4 minutes                      0.0.0.0:80->80/tcp   tmp_wordpress_1
a64041f63295        mysql                     "docker-entrypoint.sh"   5 minutes ago       Up 4 minutes                      3306/tcp             tmp_mysql_1
2734d0bd3dd3        sameersbn/gitlab:latest   "/sbin/entrypoint.sh "   52 minutes ago      Exited (1) 49 minutes ago                              tmp_gitlab_1
9b06bdf8dc6a        sameersbn/mysql:latest    "/sbin/entrypoint.sh "   52 minutes ago      Up 50 minutes                     3306/tcp             tmp_gitlab-mysql_1
4c31d20f9190        sameersbn/redis:latest    "/sbin/entrypoint.sh"    52 minutes ago      Exited (137) About a minute ago                        tmp_gitlab-redis_1

STATUSにexitedと出ているのが停止したコンテナです。
この停止したコンテナが残っていると、コンテナが使用しているdocker imageが削除できなくなるので削除します。

既に停止したコンテナを削除したい

$ docker rm  4c31d20f9190  # CONTAINER ID

コンテナにログインしたい

なんでこのコンテナはちゃんとうごいてくれないんだーとか、中を覗きたいことは結構あります。
そんな時はこれ。

$ docker exec -it a81565c00340 /bin/bash

-itの後に指定しているのはdocker psでわかるCONTAINER IDです。


日常的なコンテナの起動にはComposeを使うので、停止、削除関連にdockerコマンドが大活躍です。
参考になれば。

11
9
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
11
9