docker环境能为我们的代码提供一个干净的环境。此外,有些代码对cuda版本要求不同,此时如果直接更换主机的cuda版本容易把显卡搞崩,或者会影响之前的一些环境,因此在这些情况下建议利用dockerfile构建我们所需环境,达到一个环境隔离的目的。
构件好dockerfile后,我们希望能用在pycharm上部署docker镜像解释器以实现利用pycharm进行代码调试等功能。
- 实验环境
- pycharm专业版(注意只有专业版才能部署docker镜像解释器)
- 服务器:ubuntu 16.0.4
- docker:根据dockerfile构建好的nvidia-docker
1. 配置docker
为了使远端服务器上的docker能与本机的pycharm进行连接和通信,需要在远端服务器(你构建docker镜像的那个服务器)上做一些设置,允许docker能被指定ip访问
1.1 开放远端连接
(1) 修改配置文件
vim /lib/systemd/system/docker.service
2. 将管理地址写入/etc/profile
echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile
source /etc/profile
重启服务:
systemctl daemon-reload && systemctl restart docker
如果此时报错:
Failed to allocate directory watch: Too many open files
解决方法
vim /etc/sysctl.conf
添加如下三行代码
此外,在docker重启前,大家一定要注意如果在docker环境中pip或者conda安装了安装包,一定在重启docker之前将docker镜像commit!!!!
具体操作为:
首先查看正在运行中的docker
docker ps
输入下列指令提交新的docker镜像
docker commit cd5869f0d3ca vaedocker:1.02
提交你刚才修改的镜像,新的镜像名称为vaedocker,版本为v1.02
2. pycharm端配置
(1) 打开pycharm->file->settings->python interpreter->add->选择docker