用角度2,jupyter和打字稿建立码头图像

时间:2016-11-01 03:31:28

标签: angular typescript docker dockerfile jupyter

我想写一个交互式教程来教一个团队如何使用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找到它们会被复制到哪里?

2 个答案:

答案 0 :(得分:2)

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

COPY . /src
WORKDIR /src
RUN npm install

答案 1 :(得分:1)

您从uses /home/$NB_USER/work as WORKDIR延伸的 Dockerfile 。 env变量NB_USERbase Dockerfile

中设置为joyvan

如果您复制这样的文件

COPY . /home/$NB_USER/work/

你应该没事。

我不确定覆盖env变量有多容易,因为在构建图像时已经使用过它。您可能最好只在{em> Dockerfile 中定义自己的WORKDIR,例如@JayChase mentioned