【问题标题】:Dockerfile installs Meteor globally, not locallyDockerfile 全局安装 Meteor,而不是本地安装
【发布时间】:2017-06-23 10:37:22
【问题描述】:

我的 Dockerfile 在镜像上安装 Meteor。唯一的问题是当我登录到我的非 root 用户并运行 meteor 时,它会开始在本地下载并安装它。因此它将meteor 识别为命令,但无法立即运行我的应用程序代码。我怎样才能使它对我的非 root 用户可用。

FROM ubuntu:xenial

# update the system
RUN apt-get update && apt-get -y install curl \
    apt-utils \
    locales \
    nano \
    python

RUN curl https://install.meteor.com/ | sh

# Set the locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8 

# create a user
RUN useradd -ms /bin/bash dev
ENV HOME=/home
WORKDIR $HOME/dev

RUN chmod -R 777 ~
RUN chown -R dev: /home/dev
USER dev

【问题讨论】:

标签: linux bash meteor docker dockerfile


【解决方案1】:

你可以在安装流星之前尝试创建用户并切换WORK_DIR

你也应该考虑使用这个https://github.com/jshimko/meteor-launchpad

【讨论】:

    【解决方案2】:

    您必须在更改用户后运行meteor install,否则您将使用root 用户运行meteor install。

    RUN chmod -R 777 ~
    RUN chown -R dev: /home/dev
    USER dev
    
    RUN curl https://install.meteor.com/ | sh
    

    【讨论】:

      猜你喜欢
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2018-04-19
      • 1970-01-01
      • 2020-05-12
      • 2023-01-12
      • 2020-05-02
      相关资源
      最近更新 更多