Dockerコンテナで実行しているLinuxディストリビューションには、デフォルトでVimやその他のテキストエディタがインストールされていないことはほぼ間違いありません。
Dockerコンテナにテキストエディタをインストールする簡単な方法は、実行中のコンテナを入力することです。
docker exec -it container_name_or_ID sh
使用しているLinuxディストリビューションを確認します:
cat /etc/os-release
次に、ディストリビューションのパッケージマネージャーを使用してインストールします。
UbuntuまたはDebianにVimをインストールするには、aptコマンドを使用します:
apt update
apt install vim
CentOSまたはRedHatにインストールするには、Yumコマンドを使用します。
yum install vim
また、Alpine Linuxの場合は、apkコマンドを使用します。
apk update
apk add vim
現在実行中のコンテナでVimを実行して使用できるようにする必要があります。しかし、このアプローチには大きな問題があります。同じDockerイメージで新しいコンテナーを実行すると、インストールしたVimコマンドはこの新しいコンテナーに存在しなくなります。もう一度インストールする必要があります。
特定のDockerイメージを使用して作成されたすべてのコンテナーにデフォルトでVimもインストールする場合は、Dockerfileにインストールコマンドを追加する必要があります。
Dockerfileを使用してカスタムDockerイメージを作成する方法をご存知だと思います。そうでない場合は、AlpineLinuxの簡単な例をすぐに思い出させてください。
Dockerfileという名前の新しいファイルを作成します:
touch Dockerfile
次に、このDockerfileを開いてエディターで編集し、次の行を追加して保存します。
FROM alpine:latest
RUN apk update
RUN apk add vim
基本的に、Dockerに最新のAlpine dockerイメージをプルしてから、apk packgae managerを実行してキャッシュを更新し、Vimをインストールするように指示しています。
上記のDockerfileからこのカスタムDockerイメージを作成する必要があります。次のようなコマンドを実行して、カスタムDockerイメージを作成します。
docker build -t new_docker_image_name PATH_to_Dockerfile
この新しいカスタムDockerイメージを使用してコンテナーを実行する場合は、Vimエディターが既にインストールされているはずです。
このDockerの簡単なヒントがお役に立てば幸いです。