Podman/Buildah Install/Use 紧贴xeus
Podman/Buildah Install/Use cling-xeus
我正在尝试让 xeus-cling 在 OCI 图像上工作,目前我正在使用 buildah + podman。我运行分成两个问题
- 我尝试用 mamba/conda 创建一个环境,但是它也需要
conda/mamba init bash
运行 然后重新启动 shell。但是在构建时很难让它重新启动,我尝试构建多级图像,exit
,运行宁/bin/bash
。我注意到 conda
也会检查某些文件是否以某种方式配置,包括 /home/joyvan/.bashrc
,我 cat
输出了修改后的 .bashrc
和 COPY
'它也是图像 - 没有骰子。 activate
告诉我我需要 运行 init
- 我试过在没有环境的情况下安装,一直报错
Encountered problems while solving:
- nothing provides system needed by clangdev-5.0.0-default_0
我不知道 clangdev-5.0.0-default_0
具体在哪个包中(因此在 Dockerfile 中注释掉了一堆与 C++ 相关的包)
我什至有几次 运行 笔记本(不记得是什么了
我做了)但没有看到创建 C++ 笔记本的选项。我是
想知道这是否可能是由于
我已将我的 Dockerfile 置于下面的当前状态(我对 Ctrl+Z
感到有点疯狂)
感谢阅读
- TFB :)
FROM docker.io/jupyter/scipy-notebook:latest
SHELL [ "/bin/bash", "-c" ]
RUN mamba install -y xeus -c conda-forge
RUN mamba install -y jupyterlab -c conda-forge
# RUN conda install gcc7 -c conda-forge
# RUN mamba install -y -c conda-forge clangdev
# RUN mamba install -y -c conda-forge/label/llvm_rc clangdev
# RUN mamba install -y -c conda-forge/label/cf202003 clangdev
# RUN mamba install -y -c conda-forge/label/gcc7 clangdev
# RUN mamba install -y -c conda-forge/label/broken clangdev
# RUN mamba install -y -c conda-forge/label/cf201901 clangdev
RUN mamba install -y -c conda-forge jupyter_contrib_nbextensions
# RUN conda init bash
# RUN conda create -n cling
# RUN conda activate cling
RUN mamba install -y xeus-cling -c conda-forge
从同一图像开始,具有 xeus-cling
内核功能的 Jupyter 的最小工作示例是:
Docker文件
FROM docker.io/jupyter/scipy-notebook:latest
RUN mamba install -yn base nb_conda_kernels \
&& mamba create -yn xeus-cling xeus-cling \
&& mamba clean -qafy
构建并运行
docker build -t jupyter-xeus:latest .
docker run -p 8888:8888 jupyter-xeus:latest
然后,我可以从 Jupyter 创建 C++11、C++14 和 C++17 内核。这是 运行 一些琐碎的单元格之后的 C++14:
补充说明
这些图像在 base 环境中安装了 Jupyter。如果您希望自动选择安装在其他环境中的替代内核,我们将 nb_conda_kernels
添加到 base.
然后 xeus-cling
安装到单独的 Conda 环境中。
人们应该几乎总是链接 Docker 运行 命令,因为这可以避免生成不必要的中间体。
如果您想要在环境中使用其他软件,请在 xeus-cling
中说 boost
,然后将其包含在创建中 - 不要 运行 多个 conda install
命令!。例如,
RUN mamba install -yn base nb_conda_kernels \
&& mamba create -yn xeus-cling xeus-cling boost \
&& mamba clean -qafy
mamba clean -qafy
有助于最小化图像的大小。
上面有一个正确的答案,但我只是想 post 我也有一个“黑客”。你可能已经注意到,如果你进入 juypter 界面,会有一个 New -> Terminal 选项。安装 xues-cling
在这个终端上工作,所以我只是用它来安装 xues-cling
,它最终工作了,它可能(并且最好)用 mamba
完成,但我的其他一些当时的黑客与 conda
合作
FROM docker.io/jupyter/scipy-notebook:latest
RUN pip install jupyter-console
RUN conda create -y -n xeus-cling
RUN jupyter console source activate xeus-cling
RUN conda install -y -c conda-forge xeus-cling
我正在尝试让 xeus-cling 在 OCI 图像上工作,目前我正在使用 buildah + podman。我运行分成两个问题
- 我尝试用 mamba/conda 创建一个环境,但是它也需要
conda/mamba init bash
运行 然后重新启动 shell。但是在构建时很难让它重新启动,我尝试构建多级图像,exit
,运行宁/bin/bash
。我注意到conda
也会检查某些文件是否以某种方式配置,包括/home/joyvan/.bashrc
,我cat
输出了修改后的.bashrc
和COPY
'它也是图像 - 没有骰子。activate
告诉我我需要 运行init
- 我试过在没有环境的情况下安装,一直报错
Encountered problems while solving:
- nothing provides system needed by clangdev-5.0.0-default_0
我不知道 clangdev-5.0.0-default_0
具体在哪个包中(因此在 Dockerfile 中注释掉了一堆与 C++ 相关的包)
我什至有几次 运行 笔记本(不记得是什么了 我做了)但没有看到创建 C++ 笔记本的选项。我是 想知道这是否可能是由于
我已将我的 Dockerfile 置于下面的当前状态(我对 Ctrl+Z
感到有点疯狂)
感谢阅读
- TFB :)
FROM docker.io/jupyter/scipy-notebook:latest
SHELL [ "/bin/bash", "-c" ]
RUN mamba install -y xeus -c conda-forge
RUN mamba install -y jupyterlab -c conda-forge
# RUN conda install gcc7 -c conda-forge
# RUN mamba install -y -c conda-forge clangdev
# RUN mamba install -y -c conda-forge/label/llvm_rc clangdev
# RUN mamba install -y -c conda-forge/label/cf202003 clangdev
# RUN mamba install -y -c conda-forge/label/gcc7 clangdev
# RUN mamba install -y -c conda-forge/label/broken clangdev
# RUN mamba install -y -c conda-forge/label/cf201901 clangdev
RUN mamba install -y -c conda-forge jupyter_contrib_nbextensions
# RUN conda init bash
# RUN conda create -n cling
# RUN conda activate cling
RUN mamba install -y xeus-cling -c conda-forge
从同一图像开始,具有 xeus-cling
内核功能的 Jupyter 的最小工作示例是:
Docker文件
FROM docker.io/jupyter/scipy-notebook:latest
RUN mamba install -yn base nb_conda_kernels \
&& mamba create -yn xeus-cling xeus-cling \
&& mamba clean -qafy
构建并运行
docker build -t jupyter-xeus:latest .
docker run -p 8888:8888 jupyter-xeus:latest
然后,我可以从 Jupyter 创建 C++11、C++14 和 C++17 内核。这是 运行 一些琐碎的单元格之后的 C++14:
补充说明
这些图像在 base 环境中安装了 Jupyter。如果您希望自动选择安装在其他环境中的替代内核,我们将 nb_conda_kernels
添加到 base.
然后 xeus-cling
安装到单独的 Conda 环境中。
人们应该几乎总是链接 Docker 运行 命令,因为这可以避免生成不必要的中间体。
如果您想要在环境中使用其他软件,请在 xeus-cling
中说 boost
,然后将其包含在创建中 - 不要 运行 多个 conda install
命令!。例如,
RUN mamba install -yn base nb_conda_kernels \
&& mamba create -yn xeus-cling xeus-cling boost \
&& mamba clean -qafy
mamba clean -qafy
有助于最小化图像的大小。
上面有一个正确的答案,但我只是想 post 我也有一个“黑客”。你可能已经注意到,如果你进入 juypter 界面,会有一个 New -> Terminal 选项。安装 xues-cling
在这个终端上工作,所以我只是用它来安装 xues-cling
,它最终工作了,它可能(并且最好)用 mamba
完成,但我的其他一些当时的黑客与 conda
FROM docker.io/jupyter/scipy-notebook:latest
RUN pip install jupyter-console
RUN conda create -y -n xeus-cling
RUN jupyter console source activate xeus-cling
RUN conda install -y -c conda-forge xeus-cling