M1 Docker:Pycharm SSH 连接Docker容器

PyCharm远程开发实战:5分钟搞定Docker容器SSH连接(附常见错误排查) 本文提供了一份详细的PyCharm远程开发实战指南,教你如何在5分钟内通过SSH连接Docker容器。文章涵盖了从选择/构建包含OpenSSH的Python开发镜像、一键启动容器、配置PyCharm专业版远程解释器,到进阶性能优化和常见错误排查(如连接失败、认证问题等)的全流程,旨在帮助开发者快速搭建隔离、一致的云端开发环境,提升效率。 阅读详情

一、准备工作

1. pycharm 专业版 + Docker的Tensorflow镜像

二、Docker容器内配置过程

主要参考了:https://www.jianshu.com/p/f6936cdf299d
过程略有不同

step1: 创建一个新容器
  • 完成端口映射
  • sftp默认22端口
docker run -tid --name tf2_ssh<容器名> -p 8022:22 -p 8887:8888 armswdev/tensorflow-arm-neoverse-n1:r21.10-tf-2.6.0-eigen<镜像名:版本> /usr/sbin/init

step2: 容器中安装ssh服务
sudo apt update
sudo apt install openssh-server
step3: 修改root密码
  • 初始化的root密码是随机的,这里修改一下
sudo passwd

step4: 修改ssh配置
# 修改ssh配置
sudo vi /etc/ssh/sshd_config

# 主要修改以下部分
1. #注释 Subsystem      sftp    /usr/libexec/openssh/sftp-server
2. Subsystem       sftp    internal-sftp
3. PubkeyAuthentication yes #启用公钥私钥配对认证方式
4. AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
5. PermitRootLogin yes #root能使用ssh登录

step5: 重新启动ssh服务
sudo /etc/init.d/ssh restart

三、本地测试能否正常连接

step6: 本地检查22端口映射
docker port tf2_ssh 22

在这里插入图片描述

step7: 本地验证登陆
  • 提示输入密码
ssh root@0.0.0.0 -p 8022

在这里插入图片描述

四、Pycharm SSH连接Docker容器

主要参考:https://www.jianshu.com/p/c27066e848c9
pycharm版本略有不同,过程有出入

step8: 选择python解释器
  • 这里和【本地测试】环节的ip 、端口保持一致,Username选择root

在这里插入图片描述

  • next
  • 输入密码,next

在这里插入图片描述

step9:相关路径选择
  • python解释器路径
    • 这里默认的是/usr/bin/python,但容器中默认的不一定是这个,在容器中输入which python,确定路径为:
      在这里插入图片描述
  • 本地目录映射到容器
    • sync folders: 选择一下本地项目路径 -> 容器路径
  • finish

在这里插入图片描述

step10: run一下试试
  • 写个脚本run一下,仍然是官网代码
import tensorflow as tf
print(tf.__version__)

mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
  • 如果遇到下面的报错:
    • 在容器中下载:sudo apt-get install libopenblas-dev
    • 刷新一下pycharm即可
ImportError: libopenblas.so.0: cannot open shared object file
  • 中国人不骗中国人,代码运行结果:

在这里插入图片描述

PyCharm通过SSH连接Docker容器实现远程Python开发环境配置 本文详细介绍了如何通过PyCharm专业版配置SSH连接Docker容器,从而搭建一个与生产环境一致的远程Python开发环境。文章从构建支持SSH的Python Docker镜像入手,逐步讲解在PyCharm中配置SSH远程解释器、映射目录、管理依赖及调试的全过程,旨在解决开发环境不一致的痛点,提升开发效率和代码可移植性。 阅读详情

相关推荐

PyCharm ssh连接docker容器(PyTorch)

为方便调试docker容器内部代码

weixin_42529594的博客 1605

M1 Docker:打造Tensorflow炼丹环境

M1 Docker:打造Tensorflow炼丹环境 一、准备工作 1. 检查M1架构 command + 空格、搜索Terminal:打开终端,不是Rosetta Terminal,是电脑自带的那个 输入uname -a / uname -m:查询架构,确认是否是arm64 以后命令行输入,均使用上述终端 2. 准备docker 官网下载:https://www.docker.com/get-started 选择“Download for Mac - Apple Chip” 注册Docker Hub

Evonnehyf的博客 3337

PyCharm连接Docker镜像搭建Python开发环境

文章目录一、Docker使用Centos镜像安装Openssh服务二、PyCharm连接Docker总结 Pycharm的工具是具有通过SSH协议远程访问一个环境作为开发环境的功能的。那么只要创建一个支持SSH远程访问的容器,那么就可以提供作为开发环境了。 需要做的基本步骤: 构建一个支持SSH服务的镜像 centos:7-ssh 构建基于支持SSH服务,支持执行python3环境的镜像 python_env 配置Pycharm的调试环境使用SSH连接上python_env 配置Pycharm自动同步项目

云 网 数 智 安 量子 3995

pycharmssh连接远程服务器

pycharmssh连接远程服务器,上传文件。写得比较简略,仅供参考,不理解的可以私信或者评论区讨论

qq_39991776的博客 2103

pycharm远程链接服务器配置

pycharm远程连接GPU

weixin_43423614的博客 1942

配置远程服务器经验分享

配置远程服务器经验分享

weixin_50720601的博客 516

Pycharm连接远程SSH

请使用专业版Pycharm,社区办不含此功能!pycharm点击 Tools -》Deployment -》 Configuration,新建一个SFTP连接,点击配置SSH,输入服务器IP、账号及密码,并点击Test Connection验证账号密码,创建好SSH后,不用填写SFTP的内容,进入下一步:点击 File -》setting -》project -》python interpreter -》add interpreter -》On SSH,第一次配置该服务器请输入IP、账号及密码:到第三步请耐

RRRUAAA的博客 1万+

【详细教程】pycharm使用docker容器开发

【详细教程】pycharm使用docker容器开发

lhyhaiyan的博客 2万+

pycharm远程连接服务器的docker容器进行运行和代码调试

pycharm远程调试docker容器中的代码

m0_60827485的博客 1万+

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

介绍 常规的本地化运行机器学习代码,安装Anaconda+cuda显卡驱动支持,许多文章都有介绍,不在此多做赘述了。本文主要是为了解决在工作环境中,本机电脑没有显卡,需要将程序运行在带显卡的远程服务器上。 本文会介绍如何部署使用显卡的docker容器、如何使用pycharm连接docker容器运行机器学习代码。 版本 Pycharm: 2020.1.3 docker:19.03.12 python: 3.6.13 demo算法: BackgroundMattingV2 部署 下面我会按照.

阿良的博客 4万+

pycharm连接远程服务器的docker容器进行运行和调试代码

环境准备: (1)准备好pycharm专业版,社区版没有连接远程服务器的功能 (2)远程服务器ubuntu20.04,已安装好docker 一、配置远程服务器的docker容器 1.启动并运行交互式容器docker run --gpus all --name="xiao-pycharm" -it -p 11740:22 -v /sda1/xiao/pycharm:/home python3.8_torch1.8.2:1.0 /bin/bash 这里需要映射主机端口到容器端口,后续就是通..

原来是肖哈哈的博客 1万+

PyCharm采用SSH连接Docker镜像搭建Python开发环境

1. 需求 在Python开发中经常会碰到一些棘手的环境问题,例如:如果开发环境是windows,那么在开发ansible模块的时候,而ansible模块又一般都是安装在linux系统,这时候在windows开发就不好处理了。 此时,可以考虑连接Docker镜像,而Docker镜像可以采用Centos作为Base Image,这样就可以顺利安装上ansible,然后使用Pycharm连接该Dock...

DevOps海洋的渔夫@专栏 2200

Pycharm远程连接docker容器

这段时间使用pycharm远程连接docker镜像debug代码,记录一下过程方便回溯。

weixin_45738220的博客 841

pycharm连接docker容器

* 点击finish后可能会提示找不到interpreter,这个时候回到容器输入命令:which python3。**如果配置好之后,pycharm连接容器失败,回到容器重新启动ssh协议:service ssh restart,再重新连接就可以了。**使用vim时新手容易碰到一个问题,就是一直退出不了修改的界面。用户名一定是root,端口为创建容器时的端口号,不然就是默认端口号22.出现这样的错误可能是端口号出现问题,重新进入容器修改端口号。6、填写主机、用户名、端口等信息。

weixin_42934657的博客 1286

pycharm 远程连接docker容器调试程序

                       Pycharm远程调试服务器中的代码(docker容器内部)   一、首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口 启动示例: docker run -d --name django_api -p 8000:80 -p 10022:22 -p 5000:5000 --link mysql_ho...

hanchaobiao的博客 3万+

Docker 搭建Pycharm ssh远程虚拟环境

换了新版MacBook Pro一堆环境重新配置,python3.9.1支持m1,如果安装 Python3.9.1 项目代码很多不兼容的情况,所以可以使用Docker安装需要的项目环境。 在Docker社区中,对于是否需要为Docker容器添加SSH服务一直存有争议。对于是否需要为Docker容器添加SSH服务,应取决于容器的具体应用场景:即作为应用容器还是作为系统容器或数据容器。应用容器行为围绕应用生命周期,较少简单,不需要人工的额外干预;而系统容器或数据容器则需要支持管理员的登录操作,这个时候容器对S

qq_42239520的博客 1428

避坑指南:PyCharm连接Docker容器SSH配置的那些坑

本文详细解析了使用PyCharm通过SSH连接Docker容器进行远程开发时常见的配置陷阱与解决方案。重点剖析了端口映射混淆、解释器路径错误等核心问题,并提供了从构建可SSH连接Docker镜像到PyCharm深度配置、高级排错及安全加固的完整避坑指南,帮助开发者实现高效、稳定的容器化开发工作流。

weixin_28826961的博客 268

pycharm远程连接服务器docker容器内python环境

这里要注意一下,代码所要的运行环境还需要在docker容器安装配置好,比如我这里需要pytorch环境以及python代码运行所需的依赖库都已经在docker容器中通过pip安装好了。版权声明:本文为CSDN博主「code_pgf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。-p 8089:22:这里主机端口8089(pycharm映射端口), 容器端口是22。这里需要映射主机端口到容器端口,后续就是通过端口来连通容器的。

矮矮的夏祭的专栏 1166
上一篇: M1 Docker:打造Tensorflow炼丹环境
Evonne_H
博客等级 码龄9年 8粉丝 8原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值