Comments (1)
FROM node:14-slim
# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others)
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update \
&& apt-get install -y wget gnupg \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
# If running Docker >= 1.13.0 use docker run's --init arg to reap zombie processes, otherwise
# uncomment the following lines to have `dumb-init` as PID 1
# ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_x86_64 /usr/local/bin/dumb-init
# RUN chmod +x /usr/local/bin/dumb-init
# ENTRYPOINT ["dumb-init", "--"]
# Uncomment to skip the chromium download when installing puppeteer. If you do,
# you'll need to launch puppeteer with:
# browser.launch({executablePath: 'google-chrome-stable'})
# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
# Install puppeteer so it's available in the container.
RUN npm i puppeteer \
# Add user so we don't need --no-sandbox.
# same layer as npm install to keep re-chowned files from using up several hundred MBs more space
&& groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
&& mkdir -p /home/pptruser/Downloads \
&& chown -R pptruser:pptruser /home/pptruser \
&& chown -R pptruser:pptruser /node_modules
# Run everything after as non-privileged user.
WORKDIR /app
COPY / /
# install global packages
RUN npm install -g yarn pm2 --registry=https://registry.npm.taobao.org --force
RUN npm config set registry https://registry.npm.taobao.org
RUN yarn --unsafe-perm
RUN yarn run build
EXPOSE 3000
EXPOSE 3001
EXPOSE 4000
USER pptruser
CMD ["/start.sh"]
# ENV PUPPETEER_SKIP_DOWNLOAD=true
# RUN sysctl -w kernel.unprivileged_userns_clone=1
# RUN apt-get update \
# && apt-get install -y wget gnupg \
# && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
# && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
# && apt-get update \
# && apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
# --no-install-recommends \
# && rm -rf /var/lib/apt/lists/*
# # Run everything after as non-privileged user.
# WORKDIR /app
# COPY / /
# # install global packages
# RUN npm install -g yarn pm2 --registry=https://registry.npm.taobao.org --force
# RUN npm config set registry https://registry.npm.taobao.org
# RUN yarn --unsafe-perm
# RUN yarn run build
# EXPOSE 3000
# EXPOSE 3001
# EXPOSE 4000
# CMD ["/start.sh"]
from wipi.
Related Issues (20)
- 需要输入一些东西才可以使用功能键 HOT 1
- github OAuth 登录 返回404 HOT 7
- 服务端代码本地报错 HOT 2
- 点击评论一直弹登陆框无法评论 HOT 1
- 奇怪的500错误 HOT 1
- 更加通用的上传配置
- yarn dev运行后报错 HOT 8
- 谢谢大佬项目!那个readme里面写的服务器地址应该是http://localhost:4000/api HOT 1
- Monaco JSON 支持
- 您好,我启动进入后台的时候进入article时显示报错了 HOT 3
- server 启动报错 HOT 2
- 谁来升级成 webpack5 HOT 1
- 本地运行疑似next报错 HOT 1
- 请问前端 class name 随机生成是怎么实现的呢? HOT 1
- 主要分支可以运行,pnpm那个弄了半天,没启动成功 HOT 2
- 多问一句 左上角 图标哪里配置啊? HOT 1
- 本地启动后 登录时 如果填写错误账号密码 会有这个错 是如果发布后 就不会弹出吗 HOT 2
- 生产环境部署发生JS内存泄漏 HOT 3
- pnpm分支换成主分支了 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wipi.