Du kannst nicht mehr als 25 Themen auswählen
Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
60 Zeilen
2.3 KiB
60 Zeilen
2.3 KiB
vor 4 Jahren
|
FROM node:12.18.4-buster-slim
|
||
|
|
||
|
LABEL maintainer="mail_yanpeng@163.com"
|
||
|
|
||
|
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
|
||
|
RUN touch /etc/apt/sources.list
|
||
|
RUN echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \
|
||
|
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \
|
||
|
&& echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \
|
||
|
&& echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \
|
||
|
&& echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \
|
||
|
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \
|
||
|
&& echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list \
|
||
|
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list
|
||
|
|
||
|
RUN cat /etc/apt/sources.list
|
||
|
|
||
|
# dependencies
|
||
|
RUN groupadd -g 65533 -r meteor \
|
||
|
&& useradd -u 65533 -r -g meteor meteor \
|
||
|
&& mkdir -p /app/uploads \
|
||
|
&& chown meteor:meteor /app/uploads \
|
||
|
&& apt-get update \
|
||
|
&& apt-get install -y --no-install-recommends fontconfig
|
||
|
|
||
|
#ADD .. /app
|
||
|
ADD ./bundle /app/bundle
|
||
|
|
||
|
RUN aptMark="$(apt-mark showmanual)" \
|
||
|
&& apt-get install -y --no-install-recommends g++ make python ca-certificates \
|
||
|
&& cd /app/bundle/programs/server \
|
||
|
&& npm install \
|
||
|
&& apt-mark auto '.*' > /dev/null \
|
||
|
&& apt-mark manual $aptMark > /dev/null \
|
||
|
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
||
|
| awk '/=>/ { print $(NF-1) }' \
|
||
|
| sort -u \
|
||
|
| xargs -r dpkg-query --search \
|
||
|
| cut -d: -f1 \
|
||
|
| sort -u \
|
||
|
| xargs -r apt-mark manual \
|
||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||
|
# && npm cache clear --force \
|
||
|
&& chown -R meteor:meteor /app
|
||
|
|
||
|
USER meteor
|
||
|
|
||
|
WORKDIR /app/bundle
|
||
|
|
||
|
# needs a mongoinstance - defaults to container linking with alias 'mongo'
|
||
|
ENV DEPLOY_METHOD=docker \
|
||
|
NODE_ENV=production \
|
||
|
MONGO_URL=mongodb://mongo:27017/meteor \
|
||
|
HOME=/tmp \
|
||
|
PORT=3000 \
|
||
|
ROOT_URL=http://localhost:3000
|
||
|
|
||
|
EXPOSE 3000
|
||
|
|
||
|
CMD ["node", "main.js"]
|