###docker
コマンドの出力からマルチバイト文字が無視されてしまう
現象はカンタンに再現できます。
例えば以下のdocker
コマンドを、Windows標準のコマンドプロンプト上で実行します。
> docker run --rm centos echo "123まるちbyte"
123まるちbyte
と表示されて欲しいのですが、結果は、こう。
123byte
綺麗に「まるち」だけが消えて、詰まります。
以下、実際のキャプチャです。
これを、正常に123まるちbyte
と表示されるようにするには、どうしたらいいのでしょうか。
せめて現象が起きている原因だけでも分かりましたら幸いです。
###色々試した
Windows標準のcmd
じゃなくパワーシェルでも、nyagosでも、管理者実行モードでも、-it
付けても、-e TERM=xterm
やロケール指定しても、centos
じゃなくubuntu
でも、全て同じ結果です。ついでに、Docker Toolbox for Windows でも同様です。
ちなみに、MacやLinuxのDockerでは問題ないようで、123まるちbyte
と表示されました。
###docker run
やdocker exec
でコンテナの中に入ってる時も起きる
コンテナの中に入って作業してても、マルチバイトの出力があるようなスクリプトを実行すると上記のような結果になるか、最悪以下のようなエラーを吐いて、強制的にコンテナから退場させられてしまう場合もあります。
# コンテナに入る > docker run --rm -it centos bash # 首相官邸のページを取得して出力する(マルチバイト文字は表示されない) $ curl http://202.232.86.11 # エラー吐いて→コンテナ退場 New state of 'nil' is invalid. >
###愚痴
コマンドプロンプト上でtailf
してたらログに日本語入ってくるとか普通にあるケースだと思うんですが、これだれも問題視しないんでしょうか・・。
検索してもそれらしき情報を見つけられないまま、数ヶ月が経ちました。
Windowsでコマンドプロンプト上からDockerを実行したり眺めたりする奇特な方は、あまりいないのかな・・。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。