pycharm 远程调试docker 中的Python脚本

pycharm 远程调试docker 中的Python脚本一 远程服务器以及 docker 配置 ssh1 原理将 docker 中的 ssh 端口 22 映射到服务器中的某一个端口 例如 9999 本地使用 docker 的用户名和密码登录 9999 端口 也就登录了相应的 docker2ssh 配置步骤运行 docker 镜像 并且指定相应的端口映射关系 NV GPU 5nvidia dockerrun tinamemy tensorflow1 9 py3

一、远程服务器以及本地pycharm配置

1 原理

将docker中的ssh端口22映射到服务器中的某一个端口,例如9999,本地使用docker的用户名和密码登录9999端口,也就登录了相应的docker

2 ssh配置步骤

  • 运行docker镜像,并且指定相应的端口映射关系
NV_GPU=5 nvidia-docker run -ti --name my_tensorflow1.9_py3 -v ~/dataShare:/home/dataShare -p 9999:22 192.168.12.23:5000/tensorflow1.4:18.01-py2 /bin/bash 

这里指定了容器运行后,将容器的端口22映射到服务器的端口9999。

  • 在远程服务器以及daocker中分别安装ssh服务,openssh-server
sudo apt-get install openssh-server 
  • 在docker中配置ssh服务
#允许使用root身份登录docker sudo sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd #下面这一步可能没有权限,可以自己打开相应的文件,将"export VISIBLE=now"写入/etc/profile的最后一行 echo "export VISIBLE=now" >> /etc/profile 
  • 重启ssh服务
service ssh restart 
  • 在服务器中测试端口映射
#查看自己的docker container端口22所映射的服务器端口 docker port my_tensorflow1.9_py3 22 #如果映射成功,可以看到如下输出 0.0.0.0:9999 
  • 在本地测试ssh登录docker container
#如果本地是windows,可以下载git,使用git bash测试 ssh <username>@<server IP> -p 9999 

如果上面的ssh配置失败,可以查看防火墙是否禁用了相应端口。

3 本地pycharm配置

  • 选择Tools->Deployment->Configuration,增加SFTP服务器
    在这里插入图片描述

  • 点击左上角加号,输入server name,以及选择Type为SFTP
    在这里插入图片描述

  • 按照自己服务器地址、映射端口、docker用户名密码进行相应设置
    在这里插入图片描述

  • 选择Mapping选项卡,配置本地、远程,对应项目路径的映射
    在这里插入图片描述

  • 配置远程项目以及本地项目的同步
    选择Tools->Deployment->Automatic Upload(always)
    这样就可以随时使用ctrl+s来进行本地项目修改和远程docker中项目的自动同步




  • 配置远程编译器
    File->Settings->Project:your project name->Project Interpreter
    在这里插入图片描述




  • 映射本地项目路径和对应的服务器项目路径
    在这里插入图片描述

  • 到这一步几乎已经完成了远程调试docker的所有配置,但是如果你现在就开始甩开键盘庆祝的话,就有点早了。运行基于GPU的TensorFlow项目时,会出现错误 ImportError:libcuda.so.1: cannot open shared object file: No such file or directory
    在这里插入图片描述

    • 解决办法
      选择Run->Edit Configurations->点击加号->选择python->找到项目运行主文件增加环境变量LD_LIBRARY_PATH=/usr/local/cuda/lib64。这里要查看自己docker中对应的路径,使用命令如下:

echo $LD_LIBRARY_PATH 

然后设置相应的路径即可

二、使用中的问题

1 在使用pycharm调试程序的时候,无法连接到控制台,程序无法运行

问题描述:
在这里插入图片描述

解决办法:
将run->Edit Configurations相应选项卡下,run with python console的“√”去掉

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/173124.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月27日 上午9:24
下一篇 2026年3月27日 上午9:24


相关推荐

  • docker启动mysql容器失败_docker容器

    docker启动mysql容器失败_docker容器什么是Docker?Docker是一种工具,它让容器创建,部署和运行应用程序变得更加容易。容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。安装DockerDesktop前往官方网站:www.docker.com/get-started根据操作系统,下载并安装对应的DockerDesktop。验…

    2022年10月5日
    5
  • Docker 容器中运行 Docker 命令

    Docker 容器中运行 Docker 命令Docker容器中运行Docker命令在使用GitLab/Jenkins等CI软件的时候需要使用Docker命令来构建镜像,需要在容器中使用Docker命令;通过将宿主机的Docker共享给容器即可在启动容器时添加以下命令:–privileged\-v/var/run/docker.sock:/var/run/doc…

    2022年5月16日
    44
  • Ubuntu 20.04 安装 Docker

    Ubuntu 20.04 安装 Docker检查Ubuntu内核docker需要ubuntu的内核高于3.10uname-rDocker安装#新增更新源sudoecho”debhttps://download.docker.com/linux/ubuntuzestyedge”>/etc/apt/sources.list#step1:安装必要的一些系统工具sudoapt-getupdatesudoapt-get-yinstallapt-transport-httpsca-certi

    2022年7月21日
    19
  • docker高级教程_docker到底怎么用

    docker高级教程_docker到底怎么用一、基于Linux安装Docker1、下载关于Docker的依赖环境yum-yinstallyum-utilsdevice-mapper-persistent-datalvm22、设置镜像下载Docker的镜像源yum-config-manager–add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3、安装Dockeryummakecachefastyum-yinstall

    2022年10月15日
    4
  • docker部署redis哨兵集群_redis部署安装

    docker部署redis哨兵集群_redis部署安装Docker安装Docker部署redis在dockerhub上可以看到有redis的官方镜像不去网站,也可以通过如下命令查看有那些镜像可用Dockersearch命令dockersearchredis拉取redis镜像Dockerpull命令这里我们拉取官方的最新版本的镜像:dockerpullredis:latest查看本地镜像Dockerimages命令有redis和hello-world运行容器Dockerrun命令d

    2022年10月18日
    4
  • docker部署vue项目_docker部署java

    docker部署vue项目_docker部署java第一步:vue项目打包成dist。npmrunbuild第二步:构建Dockerfile#设置基础镜像,这里使用最新的nginx镜像,前面已经拉取过了FROMnginx#将dist文件中的内容复制到/usr/share/nginx/html/这个目录下面COPYdist//usr/share/nginx/html/第三步:安装nginxdockerpullnginxdockerrun–namenginx-d-p4030:8.

    2022年10月19日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号