因为实验室的服务器联网出现问题,配环境很麻烦,只能离线。而正好有笔记本上已经配置好的miniconda3的环境(包括pytorch,python,以及自己实验所配置的环境),这个同样适用于anaconda的环境。
然后考虑将conda的环境封装成docker,然后放到服务器上跑代码。

1. 离线服务器上

保证有docker

2. 装有miniconda3的环境的设备上

1)安装docker

sudo apt  install curl
curl -s https://get.docker.com/ | sh

然后用docker -v看是否安装成功。
PS:
如果出现Docker“Got permission denied while trying to connect to the Docker daemon socket“问题
那就是因为没有在 root 用户的权限下,因此需要在前面都加上sudo即可。

2)在docker Hub上下载好装载有anaconda3的镜像

sudo docker pull continuumio/anaconda3

3) 在 continuumio/anaconda3 镜像的基础上创建容器并运行

//查看是否有continuumio/anaconda3 镜像 
docker image ls 
// run
docker run -itd continuumio/anaconda3(或者镜像id)
//查看容器id 
docker ps  
//执行
docker exec -it 镜像id bash

这样就能进入到continuumio/anaconda3 容器中

4)查找anaconda所在路径

在容器中输入whereis anaconda查找anaconda所在路径
发现路径是:
/opt/conda/envs

5)查找本地的miniconda的环境(就是你自己想封装的环境)

新建一个终端,打开miniconda文件夹,看到envs,进去则能看见你自己的环境
我的是在~/miniconda3/envs/SAC(SAC是我的环境名字)

6)复制环境

通过docker cp指令

sudo docker cp ~/miniconda3/envs/SAC b63116e4df5e:/opt/conda/envs

前面是本地miniconda的环境
后面是docker容器的环境,b63116e4df5e是容器id

7) 验证

这样,你的docker容器里面就有你的conda环境了,可以通过conda activate envs_name来研究是否成功

8)运用 docker commit 指令将运行的容器保存为镜像

sudo docker commit b63116e4df5e image_name

b63116e4df5e:容器id
image_name 创建镜像的名字,自己取

9)查看镜像

sudo docker image ls

则能看见你自己保存的镜像

10) 保存为tar文件

sudo docker save 镜像名 ~/download/myimage.tar

参考链接:
https://blog.csdn.net/u012759006/article/details/107624413

Logo

更多推荐