PyCharm + Jupyter +Docker 搭建远程机器学习开发环境

文章作者:梦家
个人站点:dreamhomes.top
原文地址:https://dreamhomes.top/332.html
公众号ID:DreamHub

文章目录

    • 背景
    • Docker 配置
      • 创建容器
      • 进入容器
    • PyCharm 配置
    • Jupyter lab 配置
    • 问题
    • 联系作者

背景

作为机器学习开发者,一般都在远程连接服务器开发,每次搭建本地环境实在是太麻烦了啊!本文主要记录个人远程开发环境的搭建过程。

本文需要一定的背景知识,已了解如何使用 docker 和 pycharm!No BB,下面直接上!

Docker 配置

创建容器

前提是容器中 Python 开发环境已搭建好,例如本人执行命令:

  1. 后台执行容器:

    docker run -d -p 8022:22 --name='dreamhomes' -v /home/workspace:/home/workspace dreamhomes/dev-env
    

    然后再进入容器中:

    docker exec -it dreamhomes bash
    
  2. 创建容器并进入交互界面:

    docker run -it -p 8022:22 --name='dreamhomes' -v /home/workspace:/home/workspace dreamhomes/dev-env bash
    

进入容器

如果容器内未安装ssh服务则需安装,如果已安装则省略此步骤:

apt update
apt install openssh-server

安装完成后查看ssh服务是否启动:

ps -e |grep ssh 或者 service ssh status

如果终端出现sshd说明已成功启动!否则重启ssh服务

service ssh start

设置容器密码
root用户执行:passwd命令,然后在终端输入容器登录密码!

修改容器配置
vim /etc/ssh/sshd_config:

#PermitRootLogin prohibit-password //注释
PermitRootLogin yes //添加

重启ssh服务激活配置

service ssh restart

测试远程连接容器

ssh root@IP_ADDRESS -p 8022

输入密码登录成功!

PS:对于购买的远程服务器,例如阿里云等,需要在服务器配置中打开对应的端口才能访问,否则远程连接会出现错误!!!

PyCharm 配置

PyCharm 需要是专业版,至于如何安装可以参考我的另一篇文章:PyCharm 2020.1

个人感觉最好同步到服务器目录而不是将文件同步到容器中!

打开Pycharm,在菜单Tools > Deployment > Configuration 中新建一个SFTP服务器:

SSH configuration:配置为服务器IP和映射的端口;例如我上面设置的端口号为8022;这将本地文件同步到容器中!
Root path:选择容器内路径
PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第1张图片
Mapping选项卡中设置文件夹同步路径:
PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第2张图片
Tools > Deployment > Option中可以配置更多细节,例如设置strl + s 保存时上传:注意需要选择自动上传
PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第3张图片
PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第4张图片
配置远程解释器
为项目新建一个 SSH interpreter
PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第5张图片
现在就可以远程interpreter来测试项目啦!

Jupyter lab 配置

指定宿主机与容器的映射端口8888,例如我执行命令:

docker run -itd -p 8022:22 -p 8888:8888 --name='dreamhomes' -v /home/workspace:/home/workspace dreamhomes/dev-env

进入容器中开启jupyterlab:

jupyter lab --ip=0.0.0.0 --allow-root

浏览器访问:Server_IP:8888,拷贝token输入即可打开jupyter lab!

此处还可以配置密码访问,但是个人感觉还是没必要啊!

问题

  1. 一段时间后远程连接出现错误!
    查看 ssh 服务是否关闭,如果关闭后需重新打开!、:
service ssh status
service ssh start
  1. 直接配置远程解释器后不能在python中执行文件,报错:[Errno 2] No such file or directory
    项目路径映射为空,重新设置映射路径:
    PyCharm + Jupyter +Docker 搭建远程机器学习开发环境_第6张图片

联系作者

你可能感兴趣的:(ubuntu,machine,learning,docker,linux,python,pycharm,jupyter,lab)