web-dev-qa-db-ja.com

Dockerコンテナでviを実行する方法は?

ホスト仮想マシンにdockerをインストールしました。そして今、viを使用してファイルを作成したいと考えています。

しかし、それは私にエラーを示しています:

bash: vi: command not found
45
Krati Jain

次のコマンドを使用してコンテナにログインします。

docker exec -it <container> bash

次に、次のコマンドを実行します。

apt-get update
apt-get install vim
65
arunprakashpj

コンテナは、おそらく箱から出してすぐにインストールされていません。

ターミナルでapt-get install vimを実行すると、準備ができているはずです。

31
Englund

実行するコマンドは、使用しているベースイメージによって異なります。

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と、新しいイメージの構築に使用するその他のファイルを更新します。コンテナ内の変更は仕様による一時的なものであり、コンテナが交換されると失われるため、これは実稼働環境で実行しないでください。

14
BMitch

Dockerfileに次の行を追加してから、Dockerイメージを再構築します。

RUN apt-get update && apt-get install -y vim
9
CJ Chang

または、不要なエディターをインストールしないことで、Dockerイメージを小さく保ちます。 Dockerホストからコンテナへのsshを介してファイルを編集できます。

vim scp://remoteuser@container-ip//path/to/document
4
Matthew

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を実行します

2
MB11

コンテナ内(VMではなくdocker内)、デフォルトではこれらはインストールされません。 apt-getwgetでも機能しません。私の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と仮定するためのものです

0
P Satish Patro