Amazon認証リバースプロキシをAlpine Linuxベースのdockerイメージに移行した
docker上で動かしているProduct Advertising API リバースプロキシをAlpine Linuxベースのイメージに移行した。
普通に置き換えるだけだと、bsonライブラリのビルドに失敗した。makeやgccなど、ビルドに必要なツールも削除されているのが原因だったので、これらのライブラリを事前に追加するようにした。
-FROM ruby:2.3.1-onbuild
+FROM ruby:2.3.1-alpine
+RUN apk add --no-cache --update alpine-sdk
+RUN mkdir -p /usr/src/app
+WORKDIR /usr/src/app
+
+COPY Gemfile /usr/src/app/
+COPY Gemfile.lock /usr/src/app/
+RUN bundle install && apk del alpine-sdk
+
+COPY . /usr/src/app
COPY config/mongoid-docker.yml config/mongoid.yml
EXPOSE 3000
CMD [ "bundle", "exec", "puma", "-C", "config/puma.rb" ]
これでdockerのイメージサイズが780MBから352MBへと、約半分のサイズになった。しばらく様子をみてみよう。