ホスト仮想マシンにdockerをインストールしました。そして今、を使用してファイルを作成したいと思いますvi
。
しかし、それは私にエラーを示しています:
bash: vi: command not found
ホスト仮想マシンにdockerをインストールしました。そして今、を使用してファイルを作成したいと思いますvi
。
しかし、それは私にエラーを示しています:
bash: vi: command not found
image
あなたがどちらから構築しているかによります。おそらくimage
あなたが使用しているのは非常に軽いので、画像として実行する必要があるものだけがあります。必要なパッケージを手動でインストールする必要があります。
回答:
次のコマンドでコンテナにログインします。
docker exec -it <container> bash
次に、次のコマンドを実行します。
apt-get update
apt-get install vim
コンテナは、箱から出してすぐにインストールされていない可能性があります。
apt-get install vim
ターミナルで実行すると、準備が整います。
vim-tiny
(Ubuntu)
apt-get update
THENapt-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が新しいイメージを構築するために使用するその他のファイルを更新します。コンテナ内の変更は設計上一時的なものであり、コンテナを交換すると失われるため、これは本番環境では絶対に行わないでください。
USER root
Dockerfile内でこれを行いますが、必ず他のユーザーに切り替えてください。:私は、実行中のコンテナだdocker exec -u root ...
これを使って:
apt-get update && apt-get install -y vim
上記コマンドの説明
bash: apt-get: command not found
apk add
または、不要なエディターをインストールしないようにして、Dockerイメージを小さくしてください。Dockerホストからコンテナまでssh経由でファイルを編集できます。
vim scp://remoteuser@container-ip//path/to/document
Debianベースのコンテナで以下のコマンドを使用します。
apt-get install vim-tiny
Dockerfileで使用するための完全な手順:
RUN apt-get update && apt-get install --no-install-recommends -y \
vim-tiny \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
不要なパッケージをインストールしたり、不要なダウンロードファイルを削除したりしないため、Dockerイメージのサイズが大幅に増加することはありません。
Dockerコンテナ内にインストールするには、コマンドを実行できます
docker exec apt-get update && apt-get install -y vim
ただし、これはvimがインストールされているコンテナーに限定されます。すべてのコンテナで使用できるようにするには、Dockerfileを編集して追加します
apt-get update && apt-get install -yvimを実行します
または、新しいDockerfileでイメージを拡張して、上記のコマンドを追加することもできます。例えば。
FROM <画像名>
apt-get update && apt-get install -yvimを実行します
コンテナ内(VMではなくdocker内)では、デフォルトではこれらはインストールされません。apt-getでも、wgetは機能しません。私のVMはUbuntu17.10で実行されています。私にとっては、yumパッケージマネージャーが機能しました。
Yumはdebianやubuntuの一部ではありません。これはRedHatの一部です。ただし、Ubuntuで動作し、apt-getのようにデフォルトでインストールされます
Tu install vim、このコマンドを使用します
yum install -y vim-enhanced
vimをアンインストールするには:
yum uninstall -y vim-enhanced
同様に、
yum install -y wget
yum install -y sudo
-yは、yum install packagenameを実行した後に尋ねられた質問に対してプロンプトが表示された場合に、yesと見なすためのものです。
Dockerでの簡単なハウスキーピング用の小さなエディターが実際に必要な場合は、Dockerfileでこれを使用します。
RUN apt-get install -y busybox && ln -s /bin/busybox /bin/vi
Ubuntu18ベースのDockerで使用しました。(もちろん、そのRUN apt-get update
前に必要な場合もありますが、独自のDockerファイルを作成している場合は、おそらくすでにそれがあります。)
ファイルを一度だけ変更する必要がある場合。ローカルで変更を加え、このファイルを使用して新しいDockerイメージを構築することをお勧めします。
Dockerイメージで言うと、/ path / to / docker / image /の下にあるmyFile.xmlという名前のファイルを変更する必要があります。だから、あなたはする必要があります。
FROM docker-repo:tag
ADD myFile.xml /path/to/docker/image/
次に、を使用して独自のDockerイメージを作成します docker build -t docker-repo:v-x.x.x .
次に、新しくビルドしたDockerイメージを使用します。