码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • pycharm如何远程连接服务器上的docker容器


    文章目录

      • 前言
      • 1. 配置docker
      • 2. 配置pycharm
      • 补充:CLion连接docker
      • 结束语

    前言

      在上篇博客已经介绍了pycharm如何远程连接服务器,本篇文章介绍一下 pycharm 如何远程连接服务器上的docker容器,并在本地完成代码的运行与调试。

    在这里插入图片描述

      所需软硬件环境:

    环境版本
    local systemwindows 10
    service systemubuntu 18.04
    docker20.10.7
    docker systemubuntu 18.04
    local IDEpycharm 2021.1.3

    1. 配置docker

    # 运行镜像
    # 我这里使用的镜像是 sophgo/tpuc_dev:latest
    docker run --privileged --name myname1234 -p 11777:22 -v $PWD:/workspace -it sophgo/tpuc_dev:latest
    
    • 1
    • 2
    • 3

      对参数做个说明:
      --privileged,权限全开,不利于宿主机安全,生产环境应当禁止对外开放,不过这里仅是测试。
      --name,给容器命名,可以随便写个,这里是myname1234。
      -p,端口映射,本地的11777端口与docker容器的22端口做映射。本地的端口可以随便设置,但容器的端口必须是22,因为我们要使用ssh来连接docker。
      -v,目录映射,本地当前目录下的workspace目录与容器的/docker目录做映射,$PWD 指的是我本地的目录,即xxx/workspace,workspace目录下存有代码文件tpu-mlir。
      -it,以交互模式运行镜像。

      进入容器以后修改容器的root密码:

    # 输入以下指定来修改密码
    passwd
    
    • 1
    • 2

    在这里插入图片描述
      在容器内安装ssh:

    # 更新数据源
    apt-get update
    
    # 安装 ssh
    apt-get install openssh-server
    apt-get install openssh-client
    
    # 修改 ssh 的配置文件
    vim /etc/ssh/sshd_config
    # 在默认添加以下内容
    PermitRootLogin yes # 允许 root 用户使用 ssh 登录
    
    # 重启 ssh
    /etc/init.d/ssh restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

      在服务器上进行ssh连通性测试:

    ssh root@192.168.1.151 -p 11777
    # 192.168.1.151为当前服务器的 ip
    
    • 1
    • 2

    在这里插入图片描述

    2. 配置pycharm

      pycharm的配置和pycharm如何远程连接服务器这篇文章中的一致,这里不再赘述。

      记得更改下端口,这里是访问服务器上的11777端口,也就是容器的22端口:

    在这里插入图片描述
      在pycharm中将本地系统上(ps:不是服务器上的哦)的D:\Python\tpu-mlir与容器中的/workspace/tpu-mlir做路径映射:

    在这里插入图片描述
      然后按照这篇文章将容器中的代码同步到本地的目录中:

      同步前:

    在这里插入图片描述
      同步后:

    在这里插入图片描述

      再配置pycharm中的python解释器,使用的是容器中的python:
      选择配置好的 ssh,由于是第一次连接,因此需要将ssh的配置保存在IDE的设置中,这里直接Move:

    在这里插入图片描述
      分别选择docker容器的python路径和代码路径,然后点击Finish即完成配置:

    在这里插入图片描述

    补充:CLion连接docker

      配置一样,只不过这里需要配置下远程的C/C++开发环境:

    在这里插入图片描述
      其中,172.25.97.170为本地的ip,10086为本地端口,本地的10086端口与docker容器中的22端口进行了映射,CMake及GDB会自动检测,如果没检测到,则需要查看容器内是否已经安装。

    结束语

      pycharm如何远程连接服务器与pycharm如何远程连接服务器上的docker容器这两篇文章相辅相成,可以作为pycharm通过远程连接进行开发相关方面的参考资料。

  • 相关阅读:
    【Redis学习笔记】第十四章 Redis企业级解决方案与性能监控
    PHP异常错误处理
    ​外汇诈骗案频发,黑平台都盯上了这类人
    Mastering the Art of Convolutional Neural Networks: A Hands-On Exploration
    Java面向对象(史上最详细的整合)
    Scrapy简介-快速开始-项目实战-注意事项-踩坑之路
    故障:Windows Security 显示错误或空白
    【C++】面向对象编程(四)派生类
    做3D建模的女生多吗?揭露行业比列
    MySQL 并发事务问题和隔离级别 (事务篇 三)
  • 原文地址:https://blog.csdn.net/qq_42730750/article/details/125970137
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号