LoginSignup
0
0

More than 3 years have passed since last update.

docker メモ

Last updated at Posted at 2020-07-19

Terminalをよく使うひとの、docker導入

install は本家のサイトから:

https://www.docker.com/
Get Started へ進む、最近は親切になっています

Documentaitionは:
https://docs.docker.com/

Docker ドキュメント日本語化プロジェクト
https://docs.docker.jp/

コマンド体系は

dockerのヘルプは
docker --helpで、出るんですが、体系的に
省略記法で短く使えるが、体系的な利用が覚えやすい。

docker Management対象 Command, Option となっている。

Management対象は代表的な物で以下がある

  • image   : containerのスナップショット
  • container :イメージを走らせるインスタンス
  • system  :image,container,volumeを管理する物
  • network :dockerのネットワーク管理

Commandは代表的な物で以下がある、Managementによって利用出来るCommandは違う

  • ls  : lsとか、psの意味
  • rm  : 削除
  • prune : 利用していない物は削除
  • help : ヘルプ

Commandを調べるには

$ docker image --help
$ docker container --help
$ docker container run --help

と言うように調べられる
docker management command --help とやるとオプションが調べられる
ショートカット・コマンドがよく使われているが使わない方が体系的に覚えられる。

試しに、imageを取得して、containerを可動させてみよう。
nginxを、docker hubから取得して、containerを起動してみる

$ docker image pull nginx # 取得
$ docker container run -it --name nginx-con -p 8080:80 nginx # 起動
docker Management対象 Command群 利用image
  • it : インターラクティブで、TTY利用
  • name:コンテナに付ける名前 コンテナ操作に使う
  • p : ポート <ホスト側ポート>:<コンテナ側ポート>

これで起動するので、ブラウザーで
127.0.0.1:8080
で起動が確認出来る。
image.png

別のTerminalでContainerの確認する

$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
9e2723caccae        nginx               "/docker-entrypoint.…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->80/tcp   nginx-con
  • CONTAINER ID : ID
  • IMAGE : 元のimage
  • COMMAND : 起動時、実行コマンド
  • CREATED :何時作成したか
  • STATUS :ステータス
  • PORTS :ポート情報 ホストのポート: コンテナのポート
  • NAMES :コンテナの名前

containerを停止する

$ docker container stop nginx-con
nginx-con

$ docker container ls -a         
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
9e2723caccae        nginx               "/docker-entrypoint.…"   23 minutes ago      Exited (0) 18 seconds ago                       nginx-con

ここで、docker の状況を見てみよう

$ docker system df # ディスク利用状況を見る
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              2                   1                   335.8MB             203.3MB (60%)
Containers          1                   0                   1.114kB             1.114kB (100%)
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B

$ docker image ls # 現在の収録イメージ
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              0901fa9da894        6 days ago          132MB
centos              7                   b5b4d78bc90c        2 months ago        203MB

~ >% docker container ls -a # コンテナの状況を見る
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
9e2723caccae        nginx               "/docker-entrypoint.…"   35 minutes ago      Exited (0) 11 minutes ago                       nginx-con

$ docker container prune # 利用していないコンテナを削除
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
9e2723caccae923f45ace783093c474be29e518b802549d36ef5ca946e2336df

Total reclaimed space: 1.114kB

$ docker system df      
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              2                   0                   335.8MB             335.8MB (100%)
Containers          0                   0                   0B                  0B
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B
~ >% 

  1. docker system df ディスクの利用状態を見る
    • imageが2つあって、1つのimageが使われている
    • containerが、Activeでないのに何故と思う
  2. docker image ls  現在の収録イメージを見る
  3. docker container ls -a # コンテナの状況を見る
    • ls -a として、稼働していない、containerも表示させる
    • Exitedのcontainerがあることに気付く
  4. docker container prune # 利用していないコンテナを削除
    • STATUSが Exitedになっているのが分かるこれを消す為に
    • docker container rm コンテナ名で削除しても良いのだが pruneコマンドで消している
    • pruneは、利用していないコンテナをまとめて削除してくれる。確認を求められる
  5. docker system df ディスクの利用状態を見る
0
0
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
0
0