質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

7485閲覧

Dockerコンテナ上で矢印キーが機能しない

ecor_maksin

総合スコア17

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2015/12/23 13:50

ご存知の方、何卒解決策をご教示いただきたいと存じます。
<現象>
dockerコンテナのターミナルで以下の現象が発生しています。
0. プロンプトが([ユーザー名@マシン名:カレントディレクトリ]の形式)表示されません。
0. 矢印キーが意図した様に機能しません。(「↑」が「^[[A」、「↓」が「^[[B」などと出力されます。)

<環境>
CentOS7(Core)にインストールしたDoccker(ver1.9.1)
※CentOS7はWindows10Pro(64bit)上のVirtualBox(Ver.5.0.10 r104061)に作成した仮想マシンです。

<補足>
ある時点から前述した「<現象>」に記載した状態になりました。それより前に作成したDockerコンテナでは発生しません。

<試したこと>
「set -o emacs」を実行してみましたが解消しませんでした。
(参考:http://www.bird-soft.net/mt/2008/06/linux_1.html)

以上、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

コンテナ内で稼働するシェルが変わってしまったのだと思います。
例えば、/bin/ksh とか。
ヒストリー機能が無いシェルなので、矢印キーがそのままコントロールコードが表示されるのだと思います。

投稿2015/12/28 01:01

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ecor_maksin

2016/01/02 02:40

TaichiYanagiya様 ご回答ありがとうございます。 「echo $SHELL」の結果は「/bin/bash」となっています。 ですが、矢印キーでコントロールコードが表示されます。 また、同じDocker Imageを指定してコンテナを作成しているのですが、 いつの時点からか、ターミナル上のプロンプトが表示されず、 矢印キーでコントロールコードが表示されてしまっています。
TaichiYanagiya

2016/01/02 08:35

> ターミナル上のプロンプトが表示されず docker run 時のオプションで "-t" を指定していないのではないでしょうか。
ecor_maksin

2016/02/01 14:54

TaichiYanagiya様 ご回答ありがとうございます。確認が遅くなり申し訳ございません。 自分でも解決したのですが、ご記載の通り"-t"オプションを指定していなかったことが原因でした。 "-t"オプションを指定したコンテナについては問題ありませんでした。
guest

0

詳細が分からないので推測混じりですが…今回インストールされたCentOS7(Core)のデフォルト設定が、以前にDockerコンテナを作成した時とは違っていたというだけだと思います。

  1. コマンドプロンプトについて

ログインシェルを変更していない(Bashを使用)ならば、環境変数 PS1 を変更することで、望みのプロンプトに変更できます。詳しくは下記ページを参考にしてください。好みの設定が決まったら、「~/.bashrc」に設定を記載しておくと良いです。

プロンプトの確認や設定

  1. 矢印キーの使用について

矢印キーを使用できるようにするには キーマップ の設定を変更する必要があります。Windows用のキーボードに合わせるには、下記ページの説明が参考になると思います。

CentOS7で、109キー日本語レイアウトを有効にする

投稿2015/12/24 19:28

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ecor_maksin

2015/12/24 23:44

pi-chan様 ご回答ありがとうございます。 記載した現象は、CentOS上のターミナルではなく、そこから「docker start -i [コンテナID]」でアタッチした後のコンテナ上で発生しています。 ただ、以前に作成したコンテナでは発生しません。 CentOSのPS1およびキーマップは変更した記憶がありません。 意図せず行われたホストOSの変更が、作成するコンテナ上でのコマンドプロンプトに影響するのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問