【问题标题】:Building docker image with angular 2, jupyter and typescript使用 Angular 2、jupyter 和 typescript 构建 docker 映像
【发布时间】:2016-11-01 03:31:27
【问题描述】:

我想写一个互动教程来教一个团队如何使用 Typescript 和 Angular 2,但我不希望每个人都安装 Jupyter。

所以,我想构建一个包含所有需要的 docker 镜像。

到目前为止,这是我的 Dockerfile,但我不确定从 Quickstart 复制 package.json 的位置,所以 npm install 会找到它,进行安装并让 Jupyter 找到它。

FROM jupyter/minimal-notebook

MAINTAINER Jupyter Project <jupyter@googlegroups.com>

USER root

RUN apt-get update && \
    apt-get install -y --no-install-recommends && \
    apt-get install -y npm nodejs nodejs-legacy wget locales git \
    fonts-dejavu \
    gcc && apt-get clean && \
    rm -rf /var/lib/apt/lists/*

RUN npm install --save jupyter-js-plugins    

USER $NB_USER

我想从 github 为 Typescript 添加这个 plugin

另一种选择是将文件复制到 docker 映像,但是为了让 Jupyter 找到它们,它们应该复制到哪里?

【问题讨论】:

  • ADD 可以从 url 获取,在你的情况下是 github。或者使用 Run 或 this curl 应该会有所帮助。
  • @Rao - 我可能会尝试您的想法,因为我遇到了未安装插件但所有内容都已加载的问题。我可能只需要构建自己的 docker 容器,而不是从安装了 Jupyter 的容器开始。

标签: angular typescript docker dockerfile jupyter


【解决方案1】:

只要在运行 NPM 安装之前设置好 WORKDIR,就可以将 package.json 复制到任何地方。

COPY . /src
WORKDIR /src
RUN npm install

【讨论】:

    【解决方案2】:

    您从 uses /home/$NB_USER/work as WORKDIR 扩展的 Dockerfile。环境变量NB_USERbase Dockerfile 中设置为joyvan

    如果你像这样复制文件

    COPY . /home/$NB_USER/work/
    

    你应该没事的。

    我不确定覆盖 env 变量是否容易,因为在构建图像时已经使用了它。您最好在 Dockerfile 中定义自己的 WORKDIR,例如 @JayChase mentioned

    【讨论】:

      猜你喜欢
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 2019-12-13
      • 2016-02-19
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      相关资源
      最近更新 更多