以前Alpine Linux上でVoltaを動かそうとして挫折した わけですが、じゃあAlpine Linux以外のベースイメージを使ったDockerコンテナでVoltaを動かすにはどうしたらいいんだい、ということでDockerfileを作ってみました。
今回はおとなしくDebianをベースイメージにして、Voltaが使える環境を作ったうえでpackage.jsonでバージョン指定したnodeとyarnをインストールする、という内容になっています。
以前Alpine Linux上でVoltaを動かそうとして挫折した わけですが、じゃあAlpine Linux以外のベースイメージを使ったDockerコンテナでVoltaを動かすにはどうしたらいいんだい、ということでDockerfileを作ってみました。
今回はおとなしくDebianをベースイメージにして、Voltaが使える環境を作ったうえでpackage.jsonでバージョン指定したnodeとyarnをインストールする、という内容になっています。
| # syntax=docker/dockerfile:1-labs | |
| FROM debian:stable-slim | |
| WORKDIR /app | |
| RUN <<END_OF_RUN | |
| apt-get update | |
| apt-get install -y --no-install-recommends \ | |
| curl \ | |
| ca-certificates | |
| apt-get clean | |
| rm -rf /var/lib/apt/lists/* | |
| curl https://get.volta.sh | bash | |
| END_OF_RUN | |
| COPY <<END_OF_COPY /app/package.json | |
| { | |
| "name": "sample", | |
| "volta": { | |
| "node": "18.13.0", | |
| "yarn": "3.3.1" | |
| } | |
| } | |
| END_OF_COPY | |
| SHELL ["/bin/bash", "-c"] | |
| RUN <<END_OF_RUN | |
| VOLTA_HOME=${HOME}/.volta | |
| PATH=${VOLTA_HOME}/bin:${PATH} | |
| for package in 'node' 'yarn'; do | |
| volta install ${package} | |
| done | |
| END_OF_RUN |