1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

docker run -itとは?

Posted at
$ docker run --help | grep -e "-i," -e "-t,"
  -i, --interactive                    Keep STDIN open even if not attached
  -t, --tty                            Allocate a pseudo-TTY

・-iはアタッチされていなくても(コンテナの)標準入力を開いたままにしておく
・-tは擬似 TTY を割り当てる??

-itあり

cmdを/bin/bashで上書きしてbashを起動する。-itを付けるとコンテナの中に入っていbashを使って操作できる。

$ docker run -it --rm centos:centos8 /bin/bash
[root@fe990f80d393 /]# aa
bash: aa: command not found
[root@fe990f80d393 /]# echo hoge
hoge
[root@fe990f80d393 /]# exit

-itなし

コンテナが起動して直ぐに/bin/bashが終了し、--rmによってコンテナが削除される。
--rmなしでやるとコンテナが削除されず直ぐに停止したことがわかる。

$ docker run --rm centos:centos8 /bin/bash
$ 

$ docker run centos:centos8 /bin/bash
$ docker ps -a
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS                      PORTS                               NAMES
7a9cf7a97800   centos:centos8   "/bin/bash"              6 seconds ago    Exited (0) 6 seconds ago                                        admiring_goldstine

-tあり

-tを付けると擬似ttyが開きコンテナ内で操作できそうだけどコマンドを打っても応答がない。
exitも効かない。閉じれなくなる。

$ docker run --rm -t centos:centos8 /bin/bash
[root@bb3ad19806ed /]# echo hgoe

-iあり

実行すると応答が返ってこないように見える。
しかしコマンドを打つとレスポンスが返ってくるし、exitで抜けられる

$ docker run -i --rm centos:centos8 /bin/bash
echo hoge
hoge
echo hoge
hoge
exit

-iを付けることでコンテナの標準入力に入力できる。
-iと--rmと組み合わせると一回だけコンテナを起動して結果だけ受けとることができる。

$ echo "echo hoge" | docker run -i --rm centos:centos8 /bin/bash
hoge
$ 

まとめ

-t を付けると[root@bb3ad19806ed /]#のようなプロンプトが表示される。
-i を付けるとコマンドを打った時にレスポンスが返ってくる。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?