默认已经安装了:

  1. docker(并下载好所需要的环境的image镜像)
  2. pycharm专业版

步骤:

  1. 创建docker的container
    image和container的关系,类似于类和实例之间的关系。所以这一步是利用image实例化一个container
$ docker run -p 10022:22 --runtime=nvidia --ipc=host --name your_container_name -v your_pc_path:docker_path -it image_name /bin/bash
  • -p: 指定映射端口,前者为本地端口,后者是docker端口
  • –runtime=nvidia: 使得在docker中可以使用显卡
  • –ipc=host: 主机与docker共享所有内存空间
  • –name: 设置container的名字
  • -v: 设置路径映射,将本地路径挂载到docker路径上
  • -it: 在终端中运行docker

注意事项:

  • -v: docker比较独立,创建container后,再想挂载本地文件夹就比较困难了,所以前期需要规划好。如果是深度学习训练任务的话,建议挂载两个本地文件夹过去,一个是训练代码文件夹,一个是数据集文件夹
  1. 在容器中配置ssh
$ apt update
$ apt install -y openssh-server
$ mkdir /var/run/sshd
$ echo 'root:passwd' | chpasswd
# 这里使用你自己想设置的用户名和密码,但是一定要记住!
$ sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
$ sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
$ echo "export VISIBLE=now" >> /etc/profile

重启ssh

$ service ssh restart

测试:在主机上(自己的电脑,而不是docker)

$ $ sudo docker port [your_container_name] 22
# 如果前面的配置生效了,你会看到如下输出
# 0.0.0.0:10022$ ssh root@[your_host_ip] -p 22
# 密码是你前面自己设置的
# 如果能进入docker的命令行,则表示成功
  1. 配置pycharm
    3.1 打开PyCharmTools > Deployment > Configuration, 点击左上角的小加号,新建一个SFTP服务器。
    3.2 点击SSH configuration后的三个点

    其中,Host的IP地址查看方法(在主机上):
$ docker inspect [your_container_name] | grep IP
# IPAddress的172.17.0.3就是IP


点击Test Connection,如果正确连接,就表示成功配置了

3.4 配置远程解释器
点击PyCharm的File > Setting > Project > Python Interpreter右边的设置按钮新建一个项目的远程解释器:

其中,Interpreter路径查看方法(在docker中输入):

$ which python
# /opt/conda/bin/python


配置完成以后需要等本地和远程的环境同步一下,然后就恭喜你,可以直接在pycharm中利用docker的环境调试了
QA

  1. 重启之后,ssh无法连接
    答:docker容器停了以后里面的SSH服务也会相应停止,因此当你发现自己某一天连不上的时候,记得去docker里重启一下ssh服务:
$ service ssh restart
  1. 重启后,ssh无法连接
    答:docker的IP可能变化,导致不能连接,使用下面的命令再重新查阅一次
$ docker inspect [your_container_name] | grep IP

主要参考:https://zhuanlan.zhihu.com/p/52827335

pycharm使用docker环境调试的配置步骤相关推荐

  1. Linux下mysql支持中文,linux下mysql环境支持中文配置步骤

    sql脚本执行前加上: CREATE DATABASE IF NOT EXISTS mydatabase DEFAULT CHARSET utf8 COLLATE UTF8_GENERAL_CI; u ...

  2. java_Tomcat环境变量的配置步骤

    1.下载jdk, tomcat 2.配置jdk环境变量 2.1 新建系统变量:JAVA_HOME 变量值:jdk的安装路径 2.2然后在path后面加上%JAVA_HOME%\bin 2.3 再次点新 ...

  3. java环境变量的配置步骤,实现原理分析

    1.笔试常见的问题? 面试常见的问题上面给的面试题链接基本都有.我只提几点: 写SQL:写SQL很常考察group by.内连接和外连接. 手写代码:手写代码一般考单例.排序.线程.消费者生产者.我建 ...

  4. (Python入门)学习笔记一,初次接触尝试使用Python——环境搭建与配置

    (Python入门)学习笔记一,初次接触尝试使用Python 早就耳闻Python大名,搞大数据.做人工智能.整机器学习,就得了解Python.之前一直没有去了解,现在由于之前一个项目涉及到一点Pyt ...

  5. 可能是Asp.net Core On host、 docker、kubernetes(K8s) 配置读取的最佳实践

     写在前面 为了不违反广告法,我竭尽全力,不过"最佳实践"确是标题党无疑,如果硬要说的话 只能是个人最佳实践. 问题引出 可能很多新手都会遇到同样的问题:我要我的Asp.net ...

  6. 通俗易懂解析环境变量及其配置

    ​ 说到环境变量,大家可能都很熟悉,但是对于开始学 java 的人,甚至到学了一段 java 时间的人,都可能不是很懂,为啥要配置环境变量,怎么配置环境变量.下面,我将为大家讲到为啥要配环境变量,已经 ...

  7. Pycharm远程使用Linux环境配置步骤

    前言 1.说明 首先介绍下我本人情况,我在 windows 笔记本电脑上下载了 Pycharm 专业版,因为我本人只是用来跑代码,想把代码自动同步起来,因此特地通过 Pycharm 来远程使用 Lin ...

  8. Pycharm代码docker容器运行调试 | 机器学习系列

    目录 介绍 版本 部署 安装驱动 安装docker 创建基础容器 安装Anaconda 关于Anaconda的使用 Docker容器SSH服务启动 Pycharm连接Docker容器 验证 运行验证 ...

  9. PyCharm采用Docker镜像直接进行Linux环境项目开发

    前言:因为本地是windows环境,之前开发工具的时候,都是先写windows版本,上服务器的时候再改linux相关参数目录等等,版本迭代控制非常恶心.docker直接搞定可以本地开发,完成之后打包上 ...

最新文章

  1. c++重载运算符_Chapter13:重载——入门(一)
  2. 陆基制导系统地面站布设策略
  3. Qt 4.8.4 Qt Creator 2.6.1 安装和配置(Windows)
  4. win7配置计算机失败怎么办,电脑win7配置失败 还原更新 怎么处理 不要说重装
  5. 免费网络研讨会:调试生产中Java的新方法
  6. zookeeper一键启动关闭JAVA_HOME在PATH中找不到报错踩坑记
  7. ASP.NET 文件操作类
  8. 《线性代数及其应用》前言翻译
  9. 元气骑士机器人旁边建筑_元气骑士机器人的一些经验
  10. 明尼苏达量表结果分析_明尼苏达满意度量表的指标
  11. 用EXCEL分析房价
  12. 电脑测试耗电量软件,有测验电脑耗电量的软件么 ?
  13. 【LeetCode】第289场单周赛 --- 用中等题来骗来偷袭我这个老同志?
  14. Burpsuite 史上最详细 安装教程
  15. 逆序对(deseq)
  16. 《Google Android开发入门与实战随书视频》
  17. 2022年计算机视觉产业链全景图谱,一文读懂计算机视觉产业链全局
  18. Android手机安装apk 提示应用未安装
  19. 超标量处理器设计——第二章_Cache
  20. C# 简洁代码实现面向切面编程(AOP)

热门文章

  1. (python实现表白树)四月桃花开,用python给你带来你的桃花运,详细解析画一棵表白树!
  2. 物联网多应用刺激32位MCU迅猛增长
  3. Windows如何获取公网IP地址(别再说用cmd-ipconfig)
  4. linux下编辑文件内容
  5. Java 读取文件到byte数组的三种方式
  6. mysql 日期加减天数
  7. 游戏陪玩语音聊天系统3.0商业升级独立版本源码
  8. lisp画靶子 visual_求助:三点画矩形的LISP - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  9. android app性能优化大汇总(内存性能优化)
  10. MIUI(ADUI)关闭广告推送步骤方法