魔法使いの卵

WEBエンジニアの卵の成長記録

Dockerの基本的な使い方

Dockerイメージを入手する

  • イメージを取得する方法について

    • docker pull イメージ名:タグ名(バージョン)
    • タグ名(バージョン)を指定しない場合はイメージの最新版が落とされる
  • 最新版を落とす

vagrant@Ubuntu1504:~$ docker pull ubuntu
latest: Pulling from ubuntu
d3a1f33e8a5a: Pull complete
c22013c84729: Pull complete
d74508fb6632: Pull complete
91e54dfb1179: Already exists
ubuntu:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:fde8a8814702c18bb1f39b3bd91a2f82a8e428b1b4e39d1963c5d14418da8fba
Status: Downloaded newer image for ubuntu:latest
  • Dockerイメージの一覧を表示してみる
vagrant@Ubuntu1504:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              91e54dfb1179        9 days ago          188.4 MB

Dockerコンテナの作成と実行を行う

  • 作成と実行コマンド
docker run オプション イメージ名:タグ名 コンテナで実行するコマンド
  • コンテナで実行するコマンド
-it
 フォアグラウンドの実行
  -iは標準入力
  -tは擬似端末の割り当てオプション

-d
 バックグラウンドの実行
  • 今回追加したイメージをフォアグランドで実行させる
vagrant@Ubuntu1504:~$ docker run -it ubuntu
root@fa82f7c8c447:/#
  • 追加したDockerコンテナを確認する
vagrant@Ubuntu1504:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
fa82f7c8c447        ubuntu              "/bin/bash"         6 seconds ago       Exited (0) 2 seconds ago                       naughty_albattani
  • STATUSがExitedで終了しているので稼働させる
vagrant@Ubuntu1504:~$ docker start fa82f7c8c447
fa82f7c8c447
  • 稼働しているか確認する
vagrant@Ubuntu1504:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
fa82f7c8c447        ubuntu              "/bin/bash"         5 minutes ago       Up 2 minutes                            naughty_albattani

STATUSがUpになっていればおk

Dockerコンテナの停止

  • Dockerコンテナ停止コマンド
    • docker stop コンテナID
vagrant@Ubuntu1504:~$ docker stop fa82f7c8c447
fa82f7c8c447
  • 停止しているか確認する
vagrant@Ubuntu1504:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
fa82f7c8c447        ubuntu              "/bin/bash"         16 minutes ago      Exited (0) 5 seconds ago                       naughty_albattani

STATUSがExitedになって停止しているのがわかる

Dockerコンテナの削除

  • Dockerコンテナ削除コマンド
    • docker rm コンテナID
vagrant@Ubuntu1504:~$ docker rm fa82f7c8c447
fa82f7c8c447
  • 削除されているか確認する
vagrant@Ubuntu1504:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  • いちいち停止して消すのめんどくさい人向けのコマンド
docker rm -f コンテナID|コンテナ名

コンテナに命名をする

  • コンテナを作成し名前をつける
  • docker run オプション --name コンテナ名 イメージ
vagrant@Ubuntu1504:~$ docker run -it --name sample  ubuntu
root@7e3a60c638dc:/#
  • コンテナ名を指定しないで追加する
vagrant@Ubuntu1504:~$ docker run -it ubuntu
root@770ab763d57a:/#
  • Dockerコンテナの一覧で両者の比較を行う
vagrant@Ubuntu1504:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
770ab763d57a        ubuntu              "/bin/bash"         5 seconds ago       Exited (0) 2 seconds ago                        condescending_bell
7e3a60c638dc        ubuntu              "/bin/bash"         29 seconds ago      Exited (0) 24 seconds ago                       sample
  • どう違うのか?
命名していないコンテナはランダムな名前が割り当てられる
condescending_bell

命名したコンテナは命名した名前が割り当てられる
sample

Dockerイメージを消したい

  • もう使わないイメージなどがある場合は以下コマンドで消す
  • docker rmi イメージ名:タグ名 イメージID
  • Dockerイメージを確認する
vagrant@Ubuntu1504:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              91e54dfb1179        9 days ago          188.4 MB
  • Dockerイメージを消す(Dockerコンテナがある場合は消しておく)
vagrant@Ubuntu1504:~$ docker rmi ubuntu
Untagged: ubuntu:latest
Deleted: 91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c
Deleted: d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82
Deleted: c22013c8472965aa5b62559f2b540cd440716ef149756e7b958a1b2aba421e87
Deleted: d3a1f33e8a5a513092f01bb7eb1c2abf4d711e5105390a3fe1ae2248cfde1391
  • 消えているか確認する
vagrant@Ubuntu1504:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

おもったこと

動いてるコンテナの確認
docker ps 

全てのコンテナの確認(動いていないコンテナも含む)
docker ps -a 

これでコンテナの状態が今どうなってるのかわかりやすい。