-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
48 lines (39 loc) · 1.5 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
FROM marshall:build AS nodejs
LABEL maintainer="Matthew Baggett <matthew@baggett.me>" \
org.label-schema.vcs-url="https://github.com/benzine-framework/docker-node" \
org.opencontainers.image.source="https://github.com/benzine-framework/docker-node"
ARG NODE_VERSION
ARG YARN_VERSION
ARG PATH="/app/node_modules/.bin:${PATH}"
SHELL ["/bin/bash", "-o", "pipefail", "--login", "-c"]
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
RUN nvm list
RUN nvm install ${NODE_VERSION} && \
nvm use ${NODE_VERSION} \
RUN apt-get -qq update && \
apt-get -yqq install --no-install-recommends \
npm \
&& \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
RUN npm install -g yarn@${YARN_VERSION}
# Healthcheck is nonsensical for this container.
HEALTHCHECK NONE
# Back to userland
USER node
FROM nodejs AS nodejs-compiler
# Install dependencies
USER root
RUN apt-get -qq update && \
apt-get -yqq install --no-install-recommends \
python \
build-essential \
&& \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
# Healthcheck is nonsensical for this container.
HEALTHCHECK NONE
# Back to userland
USER node