前言:
环境配置很麻烦特别是在实验室多个人用的服务器上,说不定哪天你的caffe就不能用了呢(手动狗头),那为了免受其苦就用了docker配置环境
环境:
我这里ubuntu:14.04
安装docker并pull images:
1.首先安装docker,根据docker官网,先在左边根据需要选择docker版本,推荐docker-ce(因为我只用过ce,蛤蛤蛤),再选择系统,然后照着流程搞就行。
为了避免麻烦或有其他问题最好把自己的用户加入docker 用户组,不然每次都要用sudo:
sudo usermod -aG docker your-user
将your-user换成你要用的账户名就行。
2.要使用GPU的话还要安装nvidia-docker2,根据这个安装。
3.之后就可以根据需要pull镜像了,我这里是需要tensorflow,所以直接pull:
docker pull tensorflow/tensorflow:1.10.0-gpu-py3
#tensorflow/tensorflow是镜像名,1.10.0-gpu-py3是标签,一般最新版是latest
可以根据自己的需要search镜像如docker search tensorflow,一般选择star最多的,版本可以去Docker Hub上根据需要选择。
4.如果没有其他需求的话就可以直接食用了,食用方法:
nvidia-docker run -it tensorflow/tensorflow:1.10.0-gpu-py3 bash
运行之后就会进入创建的容器了,可以运行nvidia-smi看能不能正常使用GPU
pycharm使用:
因为pycharm实在太方便了,所以我就安装了pycharm,如果想要在pycharm里面使用docker容器是要用Professional 版本功能的,有学校邮箱可以去pycharm官网注册一下,可以免费用。
1.因为pycharm默认使用的是docker而不是nvidia-docker,直接用的话会用不了GPU,显示No such file:libcuda.so.1,所以我在这个问题上折腾了很久,在这里找到了解决方法,大致就是把默认的换成nvidia-docker:打开/etc/docker/daemon.json,将里面的内容修改为:
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": [ ]
}
}
}
其实就是加了一个default-runtime。
之后重启守护进程:
sudo pkill -SIGHUP dockerd
2.配置pycharm(我用的2019.1版本,不同的可能不一样,大致相同):
打开之后File->Settings->Project->Project Interpreter
点击Project Interpreter一栏右边齿轮,选择Add...
1.png
然后选择Docker,Server应该能直接连上,在Image name一栏就能看到你pull的镜像,选择之后点击OK
2.png
等待一会,能看到镜像里面安装过的环境,直接点击OK就行,等待最下面进度条走完就可以直接使用镜像里的环境了。
结束:
中间过程折腾了很久,本来以为很简单,但是中间出了几次问题,装完之后就方便很多了,很多环境问题就再也不用发愁了。我去继续了。。。