2019/5/25 Marp Web (under construction)
https://web.marp.app 1/6
docker exec -itって何︖
よく、Dockerのコンテナの中に⼊るには docker exec -it
container_name /bin/bash って書きますが、これはなん
ぞやと。
11
2019/5/25 Marp Web (under construction)
https://web.marp.app 2/6
雑に説明すると
コンテナの中で、bashプロセスを新規で⽴ち上げ、それを
操作しています。
22
2019/5/25 Marp Web (under construction)
https://web.marp.app 3/6
exec
execは通常のコマンドにもありますが、『対象のコマンド
を実⾏する』ってコマンドです。
docker execは、『対象のコンテナで、対象のコマンドを
実⾏する』っていうことですね。
execの使い⽅の例
docker exec コンテナ名 コマンド名 なので、
docker exec container_name ls とかすると、コンテナ
の中でlsするわけです。 33
2019/5/25 Marp Web (under construction)
https://web.marp.app 4/6
-it
-iは、 Keep STDIN open even if not attached
標準⼊⼒を開き続ける。
-tは、 Allocate a pseudo-TTY
疑似ttyを割りあてる。
標準⼊⼒を開き続け、そこを操作出来るようにする。
→⼿元の環境で、docker内⼊⼒ができるようにする
44
2019/5/25 Marp Web (under construction)
https://web.marp.app 5/6
まとめ
docker execは、『対象のコンテナで、対象のコマンドを
実⾏する』。
-it で、⼿元の環境で、コンテナ内に⼊⼒ができるようにな
る。
55
2019/5/25 Marp Web (under construction)
https://web.marp.app 6/6
attachとの違い
attachは既にあるコンテナのプライマリプロセスにアクセ
スします。したがって、 exit やると、コンテナが消えま
す。
exec -itは、新規にプロセス⽴ち上げて、それを操作して
いるために、 exit しても元のプロセス残ってるのでコン
テナが動き続けるわけですね。
66

docker exec -it って何してるの

  • 1.
    2019/5/25 Marp Web(under construction) https://web.marp.app 1/6 docker exec -itって何︖ よく、Dockerのコンテナの中に⼊るには docker exec -it container_name /bin/bash って書きますが、これはなん ぞやと。 11
  • 2.
    2019/5/25 Marp Web(under construction) https://web.marp.app 2/6 雑に説明すると コンテナの中で、bashプロセスを新規で⽴ち上げ、それを 操作しています。 22
  • 3.
    2019/5/25 Marp Web(under construction) https://web.marp.app 3/6 exec execは通常のコマンドにもありますが、『対象のコマンド を実⾏する』ってコマンドです。 docker execは、『対象のコンテナで、対象のコマンドを 実⾏する』っていうことですね。 execの使い⽅の例 docker exec コンテナ名 コマンド名 なので、 docker exec container_name ls とかすると、コンテナ の中でlsするわけです。 33
  • 4.
    2019/5/25 Marp Web(under construction) https://web.marp.app 4/6 -it -iは、 Keep STDIN open even if not attached 標準⼊⼒を開き続ける。 -tは、 Allocate a pseudo-TTY 疑似ttyを割りあてる。 標準⼊⼒を開き続け、そこを操作出来るようにする。 →⼿元の環境で、docker内⼊⼒ができるようにする 44
  • 5.
    2019/5/25 Marp Web(under construction) https://web.marp.app 5/6 まとめ docker execは、『対象のコンテナで、対象のコマンドを 実⾏する』。 -it で、⼿元の環境で、コンテナ内に⼊⼒ができるようにな る。 55
  • 6.
    2019/5/25 Marp Web(under construction) https://web.marp.app 6/6 attachとの違い attachは既にあるコンテナのプライマリプロセスにアクセ スします。したがって、 exit やると、コンテナが消えま す。 exec -itは、新規にプロセス⽴ち上げて、それを操作して いるために、 exit しても元のプロセス残ってるのでコン テナが動き続けるわけですね。 66