dockerのチートシート - meruneru/tech_memo GitHub Wiki

dockerのチートシート

イメージの一覧取得

meruneru@[19:59:06]:~% docker images
REPOSITORY               TAG       IMAGE ID       CREATED        SIZE
<none>                   <none>    ed24c824f623   21 hours ago   48.8MB
kaliv1                   latest    dcde1c335fab   6 weeks ago    8.84GB
kalilinux/kali-rolling   latest    99b9a83a4c1e   6 weeks ago    125MB

コンテナの一覧取得

eruneru@[19:59:03]:~% docker ps
CONTAINER ID   IMAGE                    COMMAND   CREATED         STATUS         PORTS      NAMES
066bead9f482   ed24c824f623             "sh"      6 minutes ago   Up 6 minutes   8081/tcp   boring_johnson
01ea3d21bd23   kalilinux/kali-rolling   "bash"    6 weeks ago     Up 6 weeks                frosty_wozniak

イメージを作る

docker buildでDockerfileからイメージを作ることができるが、 名前指定をする場合は-tを使う必要がある。

名前を指定しない場合は、イメージ一覧で<none>と表示される。

$ docker build  --force-rm=true . -t example:v1

イメージ作成途中に失敗するとゴミが生成されてしまうため、 --force-rm=trueを付けておくと自動削除してくれる。

イメージからコンテナを作る

$ docker run -it -v `pwd`:/home/ -w /home/ example:v1

-itをつけることでシェルが立ち上がる。 exitをするとコンテナを終了することができる。

Ctl+p qとすることでコンテナをデタッチすることができる。 再開するには、アタッチをしてあげれば良い。

$ docker container ls             
CONTAINER ID   IMAGE          COMMAND   CREATED          STATUS         PORTS     NAMES                          
0a733ca567d0   example:v1   "bash"    10 seconds ago   Up 9 seconds             laughing_murdock
6596a131fe0e   folly:v2       "bash"    4 minutes ago    Up 4 minutes             affectionate_zhukovsky

$ docker attach 0a733ca567d0

明示的にコンテナを終了させる

docker psは現在稼働中のコンテナのみを表示するが、 docker ps -aとすると現在停止(Exited)しているコンテナも表示できる。

meruneru@[17:27:55]:~/program/c++% docker ps -a        
CONTAINER ID   IMAGE          COMMAND                  CREATED             STATUS                         PORTS   
                                                        NAMES
0a733ca567d0   compilerbook   "bash"                   50 seconds ago      Up 49 seconds                          
                                                        laughing_murdock
6596a131fe0e   folly:v2       "bash"                   4 minutes ago       Up 4 minutes                           
                                                        affectionate_zhukovsky
fe8f11db8955   folly:v2       "bash"                   6 minutes ago       Exited (0) 5 minutes ago               
                                                        epic_austin
f14f1ebb62f6   folly:v2       "bash"                   6 minutes ago       Exited (0) 6 minutes ago               
                                                        great_pare
faf464f1b845   folly:v2       "bash"                   6 minutes ago       Exited (0) 6 minutes ago               
                                                        cool_bouman
39ec2b326235   folly:v2       "bash"                   6 minutes ago       Exited (0) 6 minutes ago                                                                       epic_ellis
f234924f9e2c   3d00d06f299c   "bash"                   12 minutes ago      Exited (0) 12 minutes ago              
                                                        compassionate_swanson
98a006acc281   3d00d06f299c   "bash"                   13 minutes ago      Exited (0) 13 minutes ago              
                                                        gifted_hopper
e1a75bc0833d   3d00d06f299c   "bash"                   14 minutes ago      Exited (0) 13 minutes ago              
                                                        crazy_kare
e4defcbf2ec6   folly:v1       "bash"                   59 minutes ago      Exited (0) 59 minutes ago       

停止したコンテナはdocker rmでコンテナを破棄できる。

$ docker rm fe8f11db8955

dockerを停止して破棄するのは面倒なので、
コンテナ生成時に```--rm```をつけておくと、
コンテナ停止で自動破棄となる。

meruneru@[17:39:47]:~/program/c++% docker run --rm -it compilerbook

meruneru@[17:40:15]:~/program/c++% docker ps          
CONTAINER ID   IMAGE          COMMAND   CREATED          STATUS          PORTS     NAMES
5322717bf487   compilerbook   "bash"    27 seconds ago   Up 20 seconds             sleepy_johnson
6596a131fe0e   folly:v2       "bash"    16 minutes ago   Up 16 minutes             affectionate_zhukovsky

meruneru@[17:40:21]:~/program/c++% docker stop 5322717bf487
5322717bf487

meruneru@[17:40:40]:~/program/c++% docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED             STATUS                         PORTS                                                           NAMES

コンテナからイメージをリバースで作る

コンテナからDockerfileをリバースで作る

meruneru@[20:12:52]:~/works/program/go_study/tcpprobe% docker ps             
CONTAINER ID   IMAGE                    COMMAND   CREATED          STATUS          PORTS      NAMES
066bead9f482   ed24c824f623             "sh"      19 minutes ago   Up 19 minutes   8081/tcp   boring_johnson
01ea3d21bd23   kalilinux/kali-rolling   "bash"    6 weeks ago      Up 6 weeks                 frosty_wozniak
meruneru@[20:12:57]:~/works/program/go_study/tcpprobe% docker stop 066bead9f482
066bead9f482
meruneru@[20:13:12]:~/works/program/go_study/tcpprobe% docker ps               
CONTAINER ID   IMAGE                    COMMAND   CREATED       STATUS       PORTS     NAMES
01ea3d21bd23   kalilinux/kali-rolling   "bash"    6 weeks ago   Up 6 weeks             frosty_wozniak

dockerのファイル使用量を確認する

meruneru@[12:49:49]:~/program/c++% docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         1         507.2MB   495.8MB (97%)
Containers      4         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     23        4         183MB     183MB
⚠️ **GitHub.com Fallback** ⚠️