linux下将本地conda环境封装成docker镜像
因为实验室的服务器联网出现问题,配环境很麻烦,只能离线。而正好有笔记本上已经配置好的miniconda3的环境(包括pytorch,python,以及自己实验所配置的环境),这个同样适用于anaconda的环境。然后考虑将conda的环境封装成docker,然后放到服务器上跑代码。保证有docker然后用看是否安装成功。PS:如果出现Docker“Got permission denied whi
因为实验室的服务器联网出现问题,配环境很麻烦,只能离线。而正好有笔记本上已经配置好的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
更多推荐
所有评论(0)