/bin/sh: apt-get: not foundが出る
下記の記事を参考にdockerfileにapt-getを使ったnpmのインストールを試みると
https://tsyama.hatenablog.com/entry/docker-not-found-npm
// このエラーが出た
/bin/sh: apt-get: not found
結論 - Alpine LinuxにUbuntuのパッケージマネージャーは使えない
この記事にAlpine Linuxのイメージには、
Ubuntuのパッケージマネージャーであるapt-get
は使えませんよ。と書いてあった。
https://stackoverflow.com/questions/45142855/bin-sh-apt-get-not-found
補足資料
Alpine Linux で Docker イメージを劇的に小さくする
解決 - apk add --update nodejs nodejs-npm
apt-get
-> apk add
解決法は上記の様にapt-getをapk addに置き換える事で解決します。
僕の場合はnodeを導入してnpmを使いたかったのでapk add --update nodejs nodejs-npm
を実行するとうまくインストールできました!
dockerfileにこれを追加してください!
RUN apk add --update nodejs nodejs-npm
1つのRUNで実行したい場合は&& \
で繋げられます!
こちらの方が推奨されている書き方らしいですね!
RUN xxxx yyyy aaa && \
aaa bbbb aa && \
ccc hhhh iio && \
apk add --update nodejs nodejs-npm
参考記事↓
https://superuser.com/questions/1125969/how-to-install-npm-in-alpine-linux
確認
一応確認の方法ですが、
$ docker-compose up -d --build
でdoneと言ってくれたら下記のようにコンテナの中に入って
// 例
$ docker-compose exec {services} ash
// 僕の場合はphpやlaravelが入ってくるコンテナがappなので
$ docker-compose exec app ash
こんな感じに確認してください!
/WORK # node -v
> v10.16.0