Docker环境启用Anaconda并指定环境env

默认的Docker环境无法执行source命令,因此无法通过

source activate 环境名

进入Anaconda环境。

集群的任务脚本为

startdocker -u "--ipc=host --shm-size 32G"  -P /ghome/用户名 -D /gdata/用户名 -c "sh /ghome/用户名/bash脚本" bit:5000/deepo

把python python脚本封装在sh脚本内,便于在sh脚本内搞定Anaconda路径及环境配置。

bash脚本内容为

#!/bin/bash
export PATH="/gdata/anaconda3/bin:$PATH"
which python
/gdata/anaconda3/envs/环境名/bin/python /ghome/脚本.py

第一句将用户的Anaconda添加到系统的路径中,从而覆盖docker的python解释器。通过第二句which python可以看出Python解释器已经改变了。

由于无法通过source activate进入环境,通过绝对路径指定Python解释器即可达到相同效果。

至此,Docker环境启用Anaconda并指定环境env已解决。

当然,重新制作docker镜像是另一个解决方案,本文更适合解决Python package的使用问题。

你可能感兴趣的:(Docker环境启用Anaconda并指定环境env)