Dockerfile - split package install/build into separate step

So one it's done, changes to later steps don't need to re-do it. It's slow!
This commit is contained in:
Nick Stokoe
2021-02-19 11:02:39 +00:00
parent b7c6a7b4d9
commit d00bce295c

View File

@@ -63,26 +63,29 @@ RUN \
Mopidy-MPD \ Mopidy-MPD \
Mopidy-Spotify-Web \ Mopidy-Spotify-Web \
Mopidy-SoundCloud \ Mopidy-SoundCloud \
&& echo "* Creating Mopidy User" \ && echo "* Cleaning up" \
&& rm -rf /var/cache/apk/* \
&& rm -rf /tmp/*
# Do this in a separate layer, because building the last is slooow
# This allows us to alter these parameters without rebuilding the last.
RUN \
echo "* Creating Mopidy User" \
&& addgroup -g ${pgid} mopidy \ && addgroup -g ${pgid} mopidy \
&& adduser -h /mopidy -s /bin/sh -D -G mopidy -u $puid mopidy \ && adduser -h /mopidy -s /bin/sh -D -G mopidy -u $puid mopidy \
&& delgroup audio \ && delgroup audio \
&& addgroup -g ${audio_gid} audio \ && addgroup -g ${audio_gid} audio \
&& addgroup mopidy audio \ && addgroup mopidy audio \
&& echo "mopidy ALL=NOPASSWD: /usr/local/lib/pyenv/versions/*/lib/python*/site-packages/mopidy_iris/system.sh" >> /etc/sudoers \ && echo "mopidy ALL=NOPASSWD: /usr/lib/python3.8/site-packages/mopidy_iris/system.sh" >> /etc/sudoers \
&& echo "* Cleaning up" \ && echo "* Done" \
&& rm -rf /var/cache/apk/* \
&& rm -rf /tmp/* \
&& echo "* Ready to start Mopidy" \
&& sleep 1 && sleep 1
COPY root/ / COPY root/ /
RUN chmod +x /usr/local/bin/run.sh RUN chmod +x /usr/local/bin/run.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
EXPOSE 6600 6680 8000 EXPOSE 6600 6680 8000
VOLUME /data /music VOLUME /data /music
LABEL description "Open source media server" LABEL description "Open source media server"
ENTRYPOINT ["entrypoint.sh"] ENTRYPOINT ["entrypoint.sh"]
CMD ["run.sh"] #CMD ["run.sh"]