Edited at
TECOTECDay 2

Alpine LinuxにnvmをインストールしたDockerイメージの作成

Docker for WindowsでAlpine Linuxにnvmをインストールしたイメージを作成します。

作業環境と作成するDockerイメージの内容は以下になります。


作業環境


  • Windows10 pro

  • Docker for Windows


作成するDockerイメージの内容


  • Alpine Linux

  • nvm : v0.33.11

また、今回作成したDockerfileはこちらで公開しています。

https://github.com/iida-teco/alpine-nvm


NVMのインストール

まずは、nvmをインストールする手順を確認していきます。

Alpine Linuxの最新版をベースイメージに使うので以下のコマンドで起動します。

PS C:\> docker run --rm -it alpine:latest

/ #

これで、Alpine Linuxのコンソールになったと思います。

次に、NVMのインストールですが公式ドキュメントの手順通りに入れます。

まずは、ビルドに必要なパッケージをインストールしていきます。

/ # apk update

/ # apk add --no-cache curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils

また、インストールスクリプトの最後でnvmの環境変数を.bashrcに追記してくれるのですが、パッケージをインストールしただけでは.bashrcが作成されないので、あらかじめ作成しておいてから、インストールスクリプトを実行します。

/ # touch ~/.bashrc

/ # curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

これでnvmがインストールされたのでバージョンを確認します。

/ # bash

bash-4.4# nvm --version
0.33.11

ちゃんと入っていますね!


Dockerfileの作成

では、上記の手順をもとにDockerfileを記述していきましょう。


Dockerfile

FROM alpine:latest

RUN \
apk update && \
apk add --no-cache curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils && \
touch ~/.bashrc && \
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

DockerfileをおいているディレクトリまでPowershellもしくはコマンドプロンプトで移動して以下のコマンドを実行します。

PS C:\> cd C:\works\docker\alpine-nvm

PS C:\works\docker\alpine-nvm> docker build -t alpine-nvm .

これでDockerイメージが登録されていると思います。

PS C:\works\docker\alpine-nvm> docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
alpine-nvm latest b7c4edde3e8c About an hour ago 208MB

以上で、Alpine Linuxにnvmをインストールしたイメージが出来上がりました!

今回作成したDockerfileはこちらになります。

https://github.com/iida-teco/alpine-nvm

また、Docker Hubでも公開しています。

https://hub.docker.com/r/iidateco/alpine-nvm/


参考にしたサイト

GitHub : creationix/nvm #Installing nvm on Alpine Linux