【问题标题】:running node application in Docker trough yarn通过纱线在 Docker 中运行节点应用程序
【发布时间】:2018-08-18 05:50:40
【问题描述】:

我正在尝试创建一个 docker 映像,其目的是通过使用 yarn 和 micro 将网页抓取作为 uService 公开。

我的 Docker 文件如下:

FROM cheeaun/puppeteer:latest
RUN useradd -ms /bin/bash appuser
COPY . /app
RUN mkdir -p /app/logs
RUN mkdir -p /app/buffer
RUN apt-get update
RUN apt-get install make -y
RUN apt-get install g++ -y
RUN cd /app && yarn --production --pure-lockfile
EXPOSE 3000   
USER appuser
WORKDIR /app
CMD ["su", "-", "user", "yarn", "start"]

按预期创建图像:

docker build . -t <application-name>:<tag>

当我尝试从刚刚创建的映像启动容器时,它会立即停止,并通过
检查日志 码头工人日志 f5fa9ba2e451

令人沮丧:

su: must be run from a terminal

我做错了什么?蒂亚!

附:指出为重复的问题并不能解决我的问题,因为它指的是对图像进行 ssh-ing,我的问题是在启动时。

【问题讨论】:

    标签: node.js docker yarnpkg puppeteer


    【解决方案1】:

    Dockerfile USER 指令告诉映像应该以哪个用户身份启动。您无需在CMD 中手动调用su;删除它。

    USER appuser
    CMD ["yarn", "start"]
    

    【讨论】:

    • 谢谢!这解决了问题,我现在有另一个(铬不在容器内启动),但调用按预期进行!
    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 2022-06-11
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多