%runscript exec /opt/conda/envs/ $( head -n 1 environment.yml | cut -f 2 -d ' ' ) /bin/ " $@ "

生成镜像:

singularity build conda.sif conda.def

2. 利用tar包

2.1 安装conda-pack

pip install conda-pack

版本需要0.7以上。

2.2 导出tar包

conda-pack -n <MY_ENV> -o packed_environment.tar.gz

编写conda.def文件:

Bootstrap: docker
From: continuumio/miniconda3
%files
    packed_environment.tar.gz /packed_environment.tar.gz
%post
    tar xvzf /packed_environment.tar.gz -C /opt/conda
    conda-unpack
    rm /packed_environment.tar.gz

生成镜像:

singularity build --fakeroot <OUTPUT_CONTAINER.sif> conda.def

3. 在已有基础上构建

def:

Bootstrap: localimage
From: local_image.sif
%environment
    # set up environment for when using the container
    . /opt/conda/etc/profile.d/conda.sh
    conda activate
%post
    apt-get update -y
    apt-get install -y \
            build-essential \
		    wget \
            cmake \
            g++ \
            r-base-dev \
    R -e "install.packages('cowsay', dependencies=TRUE, repos='http://cran.rstudio.com/')"
    # install miniconda
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /opt/conda
    rm Miniconda3-latest-Linux-x86_64.sh
    # install conda components - add the packages you need here
    . /opt/conda/etc/profile.d/conda.sh
    conda activate
    conda install -y -c conda-forge numpy cowpy
    conda update --all

4. 沙盒模式

4.1 构建沙河目录

singularity build --sandbox lolcow/ library://sylabs-jms/testing/lolcow

4.2 进入沙盒

singularity shell --writable lolcow/

4.3 将沙盒打包成sif

singularity build lolcow.sif lolcow/

5. 设置环境变量

pytorchcmake未设置cuda环境变量

SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "path\\boost_1_80_0")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "path\\boost_1_80_0\\libs")

可以通过如下设置:

%environment
    export CUDA_INCLUDE_DIRS=/opt/conda/cuda/include
    export CUDA_CUDART_LIBRARY=/opt/conda/cuda/lib
    export LIBRARY_PATH=/opt/conda/cuda/lib:$LIBRARY_PATH
    export CPATH=/opt/conda/cuda/include:$CPATH
    export PATH=/opt/conda/cuda:$PATH
%post
   mkdir -p /opt/conda/cuda
   conda install cuda -c nvidia -p /opt/conda/cuda
   mkdir -p /opt/conda/cudnn
   conda install -c anaconda cudnn -p /opt/conda/cudnn
   export PATH=/opt/conda/cuda:$PATH

pytorchcmake未设置cudnn环境变量,通过如下方法设置:

export CUDNN_ROOT=/path/to/cudnn
# environments creation
conda env update --file environment-01.yml
conda env update --file environment-02.yml
conda env update --file environment-03.yml
# run.sh in different environments
conda activate first-env
./run.sh
conda activate second-env
./run.sh
conda activate third-env
./run.sh
本地奇点图像构建
运行quay.io/singularity Docker映像并
				
因为实验室的服务器联网出现问题,配环境很麻烦,只能离线。而正好有笔记本上已经配置好的miniconda3的环境(包括pytorch,python,以及自己实验所配置的环境),这个同样适用于anaconda的环境。 然后考虑将conda的环境封装成docker,然后放到服务器上跑代码。保证有docker 然后用看是否安装成功。 如果出现Docker“Got permission denied while trying to connect to the Docker daemon socket“问题
转载原文: https://zhuanlan.zhihu.com/p/145037940 可查看我的博文:【长篇博文】Docker学习笔记(四):镜像的分层、打包、双向绑定、导入导出、Dockerfile的构建、部署与发布 首先使用anaconda3的基础镜像创建,可能需要检查换源。下面代码块是添加在/etc/docker/daemon.json文件的内容。值得注意的是,如果当前sudo用户没有写文件的权限,需要改变权限,比如使用chromd 777命令。 "registry-mirror
%post echo 'nameserver 8.8.8.8' &amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt; /etc/resolv.conf apt-get update apt-get install -y wget ...
从零开始入门封装环境,本文主要讲解打包环境前的Docker配置工作,如不需要配置Docker,可直接跳转:(二) 文章目录前言一、Docker是什么?1.虚拟机和Linux容器二、Docker用途三、Docker安装1.Dcoker手动在线安装:四、Docker启动与停止1.启动Docker2.停止Docker3.重启Docker五、Docker配置1.将用户加入 Docker 用户组2.配置daemon.json3.重启Docker六、Docker打包conda环境 提示:这里可以添加本文要记录
要使用`pip install`命令将包安装conda虚拟环境,你可以按照以下步骤操作: 1. 首先,确保你已经安装了Anaconda或Miniconda,并且已经创建了你想要安装包的conda虚拟环境。创建conda虚拟环境的命令通常是这样的: ```bash conda create -n your_env_name python=X.X 这里`your_env_name`是你给虚拟环境起的名字,`X.X`是你想要安装Python版本。 2. 激活你想要安装包的conda虚拟环境: ```bash conda activate your_env_name 你也可以使用`source`命令激活虚拟环境,这取决于你的操作系统和shell类型。 3. 在激活的conda虚拟环境,直接使用`pip install`命令来安装你需要的包: ```bash pip install package_name 替换`package_name`为你想要安装的包的名称。 4. 如果需要,你可以使用`pip list`命令查看当前conda虚拟环境安装的包。 这样,使用`pip install`安装的包就会出现在你激活的conda虚拟环境。由于conda管理虚拟环境的机制,通常不推荐在conda虚拟环境使用pip来安装包,因为这可能会导致环境的包版本不一致和依赖问题。在大多数情况下,推荐使用`conda install`命令来安装包。但如果确实需要使用pip,上述步骤是适用的。