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"]