Conda环境封装成docker镜像

背景:在我们开发完一个项目之后,为了使项目环境能够快速的转移,需要对环境进行打包封装。一般来说,我们有两条路可以选择。
第一种,采用conda本身的命令,输出 yaml文件以及txt文件

#导出
conda env export > environment.yaml
pip freeze > requirements.txt
#导入
conda env create -n xx -f environment.yaml
pip install -r requirements.txt

但是,我执行这类方法之后,发现两类环境不对应,这主要是因为在导出和导入的时候,由于某些包长的异常,比如-spconv 又或者需要去github上下载,但是这类要么安装不上,要么对应的网址已经更新了,会导致封装失败。
结论:采用conda封装的方式进行迁移环境。

第二种,conda -> docker
首先,需要服务器上有安装docker,如果不是sudo用户的话,则普通用户应该被加入docker用户组。【docker ps 正常运行就可】

一、docker run 建立一个干净的docker环境(但是得带conda)
如果没有anaconda3,则pull一个下来

sudo docker pull continuumio/anaconda3

然后执行docker run命令

docker run -itd continuumio/anaconda3:pcdet3

接着我们就会进入到docker @后面跟的就是id
记住这个id
执行exit可以退出 如果忘了可以docker ps查看id
如果退出了可以执行这个再进入 【也可以去搜索docker attach 、 docker start 】

docker exec -it 镜像id bash

然后最后我们执行这个
其中 /home/youruser/anaconda3/envs/pv111 是自己用户的环境 【conda env list 可查】
384d44615250 是容器的id 【sudo docker ps 可查】
/opt/conda/envs/ 是docker里面anaconda的路径【whereis anaconda 可查】

sudo docker cp /home/ljh/anaconda3/envs/pv111 384d44615250:/opt/conda/envs/

tips:
如果想要采用docker 把普通用户加入群组 可以采用如下方式

#添加docker 用户组 这一步在目前的服务器上都不用执行 因为已经有了
sudo groupadd docker
#加入用户 $USER 是你要加的用户
sudo gpasswd -a $USER docker

【但是! 这样在我们的服务器上仍然行不通,为什么呢,因为docker权限(docker.sock就是这个文件)对群组用户是770 意思就是你不可执行,但是像下面这样,就可以让群组的普通用户也能用docker】

sudo chmod a+rw /var/run/docker.sock
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Mac 系统下使用 conda 包管理器,我们经常会遇到一些问题,例如安装速度慢等,这时候我们需要更换 pip 和 conda镜像源来加快下载速度。 在此之前,我们需要了解以下两个概念,分别是 pip 和 conda: ① pip:是 Python 的一个包管理器,它的作用是安装或卸载 OpenStack 项目中的各种组件及依赖库等。 ② conda:是 Python 的另一个包管理器,它是 anaconda 发布的 Python 版本的核心组件之一,它的作用是进行 Python 库、环境、软件包的管理和部署。 为了更好地解决这些问题,我们需要找到一个可以更快下载安装包源的镜像 source 来加速下载。目前常用的国内镜像源有阿里云,清华大学镜像站等,这里我们以清华大学镜像源为例。 1. 更换pip镜像源 打开终端,输入以下代码: ``` pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple ``` 此时,pip 镜像源已功更换为清华大学镜像源。 2. 更换conda镜像源 同样打开终端,输入以下代码: ``` conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ conda config --set show_channel_urls yes ``` 这时,就完了 Mac 下 conda 环境更换 pip 和 conda 镜像源的操作,可以为我们在使用过程中带来更快的下载速度,提升使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值