前言

  在上篇博客已经介绍了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

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

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

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

在这里插入图片描述
  在容器内安装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

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

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

在这里插入图片描述

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通过远程连接进行开发相关方面的参考资料。

更多推荐