Pycharm - 代理跳转到 Docker 容器

问题描述 投票:0回答:0

我在一个远程集群上工作,在那里我可以直接访问一个管理器节点,该管理器节点使用 Slurm 将我重定向到计算节点。

在其中一个计算节点上,我有一个正在运行的 Docker 容器,我想设置 Pycharm 以使用容器内的 Python 解释器 ssh 从我的本地计算机进入该容器。所以,情况是这样的:

    PyCharm
      ^
local_machine -->  manager_node --> compute_node
                                         |
                                         V
                                   docker_container   

在本地机器上,我有一个 ~/.ssh/config 文件:

Host manager_node
        HostName manager_node_address
        User my_user
        IdentityFile ~/.ssh/id_rsa

Host compute_node
        HostName compute_node_address
        User my_user
        ProxyJump manager_node
        IdentityFile ~/.ssh/id_rsa

Host docker_container_00
    HostName container_ip_address
    User root
    ProxyJump compute_node
    IdentityFile ~/.ssh/id_rsa

Host docker_container_01
    HostName container_ip_address
    User root
    ProxyCommand ssh -W %h:%p my_username_on_compute_node@compute_node_address -i ~/.ssh/id_rsa

我可以使用 2 个选项中的任何一个从我的本地机器 ssh 到 docker 容器:

ssh docker_container_00
ssh docker_container_01

我被要求输入密码(我在用于创建容器的 Dockerfile 中配置了 Docker root 密码),我在容器中。

现在我正在尝试配置 Pycharm 来做同样的事情。我添加了一个新的解释器并使用了相同的设置,但是我得到了一个错误:

docker ssh pycharm ssh-tunnel
© www.soinside.com 2019 - 2024. All rights reserved.