Docker容器与Pycham搭配深度学习环境

前言

本文参考相关文章Pycharm与Docker环境搭建
Pycharm与docker环境搭建

1. Docker端的配置

看前提醒:
有关docker的使用请参考Docker必备
深度学习推荐拉取镜像库Deepo
看前提醒:有任何疑问,可用$ docker help 解决
菜鸟教程-Docker的使用

镜像及容器的配置

1.首先拉取想要的环境的image,示例:

docker pull ufoym/deepo:tensorflow-py36-cu100
#输出结果 
REPOSITORY          TAG                     IMAGE ID            CREATED             SIZE
ufoym/deepo         tensorflow-py36-cu100   c3778f9b53f0        14 months ago       4.94GB

2.拉取image成功后,可基于image(镜像)建立自己的container(容器).
参考格式:

#注意为对应的老板docker,新版docker可参考下面示例来
sudo nvidia-docker run -it -p [host_port]:[container_port](do not use 8888) --name:[container_name] [image_name] -v [container_path]:[host_path] /bin/bash

示例:

sudo docker run --gpus all -p 8888:22 --name tf2.0 -v /home/yannqi/A_qiqi_store:/workspace -it ufoym/deepo:tensorflow-py-cu100 /bin/bash

正确执行完之后,现在我们就处在新建的docker容器里了(端口映射,容器名,镜像和路径映射这些换成你自己的就行,但是一定要留一个端口映射到容器22端口,因为SFTP默认使用22端口)。

docker 容器内的配置

1.配置SSH服务

接着我们在刚刚新建的容器里配置SSH服务,首先安装openssh-server:

$ apt update
$ apt install -y openssh-server

之后进行密码设置:

root@dd53ea4c2f2b:/# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfu

使用命令vim /etc/ssh/sshd_config,修改下面两个配置

PermitRootLogin yes  
 
UsePAM no

重启SSH激活配置:

$ service ssh restart

在服务器(宿主机)上(不是服务器的docker里)测试刚刚新建docker容器中哪个端口转发到了服务器的22端口:

$ sudo docker port [your_container_name] 22

示例:

sudo docker port 1ec3243fc339 22
#正确输出结果为
0.0.0.0:8888

到这里,docker容器中的ssh-server就已经全部配置成功了,下面我们将该容器提交为镜像,留在后面使用。

示例:

docker commit -a "yannqi" -m "tensorflow2"   91ff39e16730 tensorflow2.0:tf2.0

具体参数配置可以在Docker必备查看

之后再进入镜像,如下所示

sudo docker run --gpus all -p 8888:22 --name TensorFlow2 -v /home/yannqi/A_qiqi_store:/workspace -it tensorflow2.0:tf2.0 /bin/bash

重新进入镜像之后要进行密码设置:

root@dd53ea4c2f2b:/# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfu

之后重启SSH激活配置:

$ service ssh restart

一次挂载连接后,之后进入镜像只需要用下列方式进入即可:

docker exec -it [container ID] /bin/bash  

可以看到容器内部文件夹有我们映射的worksapce,1
容器外可以找到端口.
2

至此,docker端已经配置完成.接下来我们进入pycahrm端进行配置.

2. Pycharm端的使用

注意事项:

pycharm端一定要用专业版,社区免费版不支持docker

建立SFTP服务器

打开PyCharm>Tools > Deployment > Configuration, 新建一个SFTP服务器,名字自己取:
1
之后配置端口,如下图所示,密码为自己的密码:1
配置完成后,点击auto detect,检测到路径:
1
到这里则第一步完成.

远程解释器的配置

点击PyCharm的File > Setting > Project > Project Interpreter右边的设置按钮新建一个项目的远程解释器:
进行SSH Interpreter的配置,如下图所示:
在这里插入图片描述
输入设定的密码后,注意我们的Python为Python3版本,则要在检测到的Python后加个数字3,如图所示:(不然会提醒找不到Python文件)
1
之后注意mapping的映射,及sync folders,映射到workspace内,即可.
映射成功后,至此就可以欢快的跑程序啦.
1
搞了好几天的pycharm结合docker,到此就全部结束了,如果有配置上遇到问题,可以发到评论区,大家看到的话会一起解决.
觉得有用不妨点个赞加个关注吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值