我想写一个交互式教程来教一个团队如何使用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找到它们会被复制到哪里?
答案 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_USER
在base Dockerfile
joyvan
如果您复制这样的文件
COPY . /home/$NB_USER/work/
你应该没事。
我不确定覆盖env变量有多容易,因为在构建图像时已经使用过它。您可能最好只在{em> Dockerfile 中定义自己的WORKDIR
,例如@JayChase mentioned。