ホスト仮想マシンにdockerをインストールしました。そして今、vi
を使用してファイルを作成したいと考えています。
しかし、それは私にエラーを示しています:
bash: vi: command not found
次のコマンドを使用してコンテナにログインします。
docker exec -it <container> bash
次に、次のコマンドを実行します。
apt-get update
apt-get install vim
コンテナは、おそらく箱から出してすぐにインストールされていません。
ターミナルでapt-get install vim
を実行すると、準備ができているはずです。
実行するコマンドは、使用しているベースイメージによって異なります。
Alpineの場合、vi
はベースOSの一部としてインストールされます。 vim
のインストールは次のようになります。
apk -U add vim
DebianおよびUbuntuの場合:
apt-get update && apt-get install -y vim
CentOSの場合、vi
は通常、ベースOSとともにインストールされます。 vim
の場合:
yum install -y vim
これは開発の初期段階でのみ行う必要があります。動作するコンテナを取得したら、コンテナの外部に保存されているイメージまたは構成にファイルの変更を加える必要があります。 Dockerfileと、新しいイメージの構築に使用するその他のファイルを更新します。コンテナ内の変更は仕様による一時的なものであり、コンテナが交換されると失われるため、これは実稼働環境で実行しないでください。
Dockerfileに次の行を追加してから、Dockerイメージを再構築します。
RUN apt-get update && apt-get install -y vim
または、不要なエディターをインストールしないことで、Dockerイメージを小さく保ちます。 Dockerホストからコンテナへのsshを介してファイルを編集できます。
vim scp://remoteuser@container-ip//path/to/document
Dockerコンテナー内にインストールするには、コマンドを実行できます
docker exec apt-get update && apt-get install -y vim
ただし、これはvimがインストールされているコンテナに限定されます。すべてのコンテナで使用できるようにするには、Dockerfileを編集して追加します
Apt-get update && apt-get install -y vimを実行します
または、新しいDockerfileでイメージを拡張し、上記のコマンドを追加することもできます。例えば。
FROM <イメージ名>
Apt-get update && apt-get install -y vimを実行します
コンテナ内(VMではなくdocker内)、デフォルトではこれらはインストールされません。 apt-get、wgetでも機能しません。私のVMはUbuntu 17.10で実行されています。私にとってはyum package manaagerは機能しました。
Yumはdebianまたはubuntuの一部ではありません。レッドハットの一部です。しかし、それはUbuntuで動作し、apt-getのようにデフォルトでインストールされます
Tuはvimをインストールし、このコマンドを使用します
yum install -y vim-enhanced
アンインストールする
yum install -y vim-enhanced
同様に、
yum install -y wget
yum install -y Sudo
-yは、yum install packagenameの実行後に尋ねられた質問に対してプロンプトが表示された場合にyesと仮定するためのものです