-
Notifications
You must be signed in to change notification settings - Fork 330
/
Dockerfile
47 lines (32 loc) · 880 Bytes
/
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
#
# Builder
#
FROM node:20-alpine3.17 as builder
WORKDIR /opt/azurite
# Install dependencies first
COPY *.json LICENSE NOTICE.txt ./
# Copy the source code and build the app
COPY src ./src
COPY tests ./tests
RUN npm ci --unsafe-perm
RUN npm run build && \
npm install -g --unsafe-perm --loglevel verbose
# Production image
#
FROM node:20-alpine3.17
ENV NODE_ENV=production
WORKDIR /opt/azurite
# Default Workspace Volume
VOLUME [ "/data" ]
COPY package*.json LICENSE NOTICE.txt ./
COPY --from=builder /opt/azurite/dist/ dist/
RUN npm pkg set scripts.prepare="echo no-prepare"
RUN npm ci --unsafe-perm
RUN npm install -g --unsafe-perm --loglevel verbose
# Blob Storage Port
EXPOSE 10000
# Queue Storage Port
EXPOSE 10001
# Table Storage Port
EXPOSE 10002
CMD ["azurite", "-l", "/data", "--blobHost", "0.0.0.0","--queueHost", "0.0.0.0", "--tableHost", "0.0.0.0"]