微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 conda 在无法通过 ssh 隧道访问互联网的 docker 容器中安装软件包

如何解决如何使用 conda 在无法通过 ssh 隧道访问互联网的 docker 容器中安装软件包

我能够通过 ssh 连接到在远程服务器上运行的 docker 容器。 容器无法访问互联网。

请求: 我想在容器中设置我的深度学习环境。

我现在可以做的事情 我的主机和 docker 容器之间的数据传输速度很快。

我不知道怎么做的事情

  1. 使用 conda 安装软件包。
  2. 使用 pip 安装软件包。

不成熟的解决方 使用 conda 代理直接在 docker 容器内安装包。 我不知道如何通过 ssh 隧道将 http/https 请求从 docker 容器转发到目的地。

我认为可能是:

  1. 首先通过修改 ~/.condarc 为 conda 配置代理服务器
proxy_servers:
    http: http://localhost:9998
    https: https://localhost:9998
  1. 然后使用如下命令从我的 PC ssh 到容器:
ssh -p port kd@mlp -R 9998:someIP:80

我尝试用 localhost 或 https://repo.anaconda.com/pkgs/main 替换 someIP。两者都没有帮助。

上述解决方案可行吗? ssh 命令会是什么样子?

注意到:

  1. 由于有些包不是 pip 提供的,所以需要使用 conda。
  2. 我无法访问远程主机,只能通过 ssh 连接到 docker 容器。
  3. 我无法修改 docker 镜像或重新启动 docker 容器。

更新:

  1. 有一些方法可以离线安装软件包。但是,它们不是很好的解决方案,因为这意味着我必须手动下载 conda/pip 包并将它们传输到相应的 docker。而且我必须手动处理每个环境。希望一些解决方案可以设置 ssh 隧道,以便我的 conda 可以访问互联网。

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