使用 angular 2、jupyter 和 typescript 构建 docker 图像
Building docker image with angular 2, jupyter and typescript
我想写一个交互式教程来教一个团队如何使用 Typescript 和 Angular2,但我不想让每个人都安装 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
我想为 Typescript 添加来自 github 的 plugin。
另一种选择是只将文件复制到 docker 图像,但是要将它们复制到哪里才能被 Jupyter 找到?
只要在 运行 NPM 安装之前设置 WORKDIR,就可以将 package.json 复制到任何地方。
COPY . /src
WORKDIR /src
RUN npm install
您要从 uses /home/$NB_USER/work
as WORKDIR
. The env variable NB_USER
is set to joyvan
in the base Dockerfile
扩展的 Dockerfile
如果你像这样复制你的文件
COPY . /home/$NB_USER/work/
你应该没事的。
我不确定覆盖 env 变量有多容易,因为它已经在构建图像时使用了。您最好在 Dockerfile 中定义自己的 WORKDIR
,例如 .
我想写一个交互式教程来教一个团队如何使用 Typescript 和 Angular2,但我不想让每个人都安装 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
我想为 Typescript 添加来自 github 的 plugin。
另一种选择是只将文件复制到 docker 图像,但是要将它们复制到哪里才能被 Jupyter 找到?
只要在 运行 NPM 安装之前设置 WORKDIR,就可以将 package.json 复制到任何地方。
COPY . /src
WORKDIR /src
RUN npm install
您要从 uses /home/$NB_USER/work
as WORKDIR
. The env variable NB_USER
is set to joyvan
in the base Dockerfile
如果你像这样复制你的文件
COPY . /home/$NB_USER/work/
你应该没事的。
我不确定覆盖 env 变量有多容易,因为它已经在构建图像时使用了。您最好在 Dockerfile 中定义自己的 WORKDIR
,例如