Docker

Dockerコンテナのビルド時にvi(vim)をインストールする

以前、Docker コンテナ上のファイルをローカルにコピーする記事を書きました。

Dockerコンテナ上のファイルをローカルにコピーするコンテナのビルド時に、コンテナ上のサーバにファイルを配備するには Dockerfile を利用すると楽です。 RUN でコマンドを定義で...

その際、コンテナ上の Linux では vi でプログラムを書いてコンパイルしたのですが、実は以下の Docker のイメージには最初から vim(vi)が入っていませんでした。

今回は、そのようなコンテナの場合に、ビルド時に vim(vi)をインストールする方法を紹介します。

viのコマンドがインストールされてるか確認する

起動したコンテナには、exec でシェルログインできます。例えば以下のような感じ。

docker-compose exec [コンテナ名] /bin/bash
docker-compose exec [コンテナ名] /bin/sh

ここで vi や vim のコマンドのパスを調べても結果は空の状態です。

コンテナ上のLinuxのOSとパッケージ管理ツールを確認する

OS のバージョンは以下のファイルで確認できます。uname -a でも表示されるディストリビューションがあるかもしれませんが、Alpine は表示されなかった。

次にパッケージ管理ツールを確認します。

Alpine Linux なら apk または atp-get が主流なのでしょうか。

残念ながらこの OS には apk がなかったので、apt-get で vi をインストールすることにします。

viのインストール

Docker ファイル(Dockerfile)の内容を以下のようにします。

apt-get update しておかないと vim のパッケージがインストールできなかったので、最初に update しています。

これで無事にコンテナ上で vi が使えるようになります。