Dockerを使い始めて、基本的なubuntuイメージを取得しました。私はdocker-machineを介してDockerを実行しているWindows 7ボックスを使用しています。
理由がわからない、bashでmanコマンドを見つけることができない。 manのパスを$ PATHにエクスポートしようとしましたが、それでも喜びはありません。
docker@default:~$ docker run -it ubuntu bash
root@2dd12b770666:/# man ls
bash: man: command not found
root@2dd12b770666:/# whereis man
man: /usr/local/man /usr/share/man
root@2dd12b770666:/# export PATH=/usr/local/man:/usr/share/man:$PATH
root@2dd12b770666:/# echo $PATH
/usr/local/man:/usr/share/man:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@2dd12b770666:/# man
bash: man: command not found
root@2dd12b770666:/#
Exportコマンドが機能しない場合、bashrcを編集しても効果があるかどうかは不明です。まだそれを試していないので。 Dockerイメージでmanを実行できるようにするために他に必要なことはありますか?
コンテナー内に「man」をインストールするだけで問題を解決できます。
root@d16e09720264:/# apt-get install -y man
Whereisコマンドを実行すると「man」が見つかるので、「man」はすでにコンテナにインストールされているはずです。
root@d16e09720264:/# whereis man
man: /usr/local/man /usr/share/man
ただし、「man」をインストールした後にwhereisが変更された結果を確認できます。
root@d16e09720264:/# whereis man
man: /usr/bin/man /usr/local/man /usr/share/man /usr/share/man/man1/man.1.gz
これは、「man」がデフォルトでコンテナ内にインストールされていないことを示しています。少なくとも、「man」が正しくインストールされていません。
私の知る限り、「vim」でも同様の結果が得られます。
$ Sudo apt-get update
$ Sudo apt-get install -y man