全力で怠けたい

怠けるために全力を尽くしたいブログ。

標準入力を Docker コンテナに接続する方法。

標準入力を Docker コンテナに接続する方法のメモ。

標準入力を Docker コンテナに繋ぐ方法

結論

一言で書いてしまうと docker container run とか docker container exec するときに -i フラグを指定すると標準入力が Docker コンテナに接続する。

実際にやってみる

こんな感じの Dockerfile を用意しておく。

FROM alpine:3.12

CMD ["cat"]

ざっくりと Dockerfile をビルドする。

$ docker image build -t docker-cat .

docker container run-i フラグを指定しないで実行すると標準入力は Docker コンテナに接続しない。

$ echo 'Hello World!' | docker container run --rm docker-cat

# 何も出力しない

docker container run-i フラグを指定して実行すると標準入力は Docker コンテナに接続する。

$ echo 'Hello World!' | docker container run --rm -i docker-cat
Hello World!

以上。


-it みたいな感じで -i フラグと -t をセットで指定しちゃうことが多くて -i フラグの意味がよく分かってなかったけど今は分かってると思う。help を見るの大事。

$ docker container run --help