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 これでコンテナの状態が今どうなってるのかわかりやすい。