Table of Contents
はじめに
DockerコンテナではよくAlpineを使うのですが、その中でsharpをインストールしようとするとエラーが出ることがあります。
必要なパッケージが全然入っていなかったことが原因だったので、それを考慮したDockerfileを作成しました。
方法
- Dockerfileに以下を追加してビルドする
# 必要なライブラリ一式をインストールRUN apk add \ --no-cache --update \ --repository http://dl-3.alpinelinux.org/alpine/edge/testing \ libtool automake autoconf nasm vips-dev fftw-dev gcc g++ make libc6-compat
- コンテナ内で
npm install sharp
を実行する
トラブルシューティング
npm error gyp ERR! stack FetchError: request to https://unofficial-builds.nodejs.org/download/release/v20.18.3/node-v20.18.3-headers.tar.gz failed, ~
のようなエラーが出ている場合、ネットワーク接続エラーの可能性があります。
その場合は、docker-compose.yml
でDNSを設定することで解決できることがあります。
services: nodejs: build: . dns: - 8.8.8.8