docker - 如何使用 conda 在无法通过 ssh 隧道访问互联网的 docker 容器中安装软件包
问题描述
我能够通过 ssh 连接到在远程服务器上运行的 docker 容器。该容器无法访问 Internet。
请求: 我想在容器中设置我的深度学习环境。
我现在可以做的事情 我的主机和 docker 容器之间的数据传输速度很快。
我不知道怎么做的事情
- 使用 conda 安装软件包。
- 使用 pip 安装软件包。
不成熟的解决方案 使用 conda 代理直接在 docker 容器内安装包。我不知道如何通过 ssh 隧道将 http/https 请求从 docker 容器转发到目的地。
我认为可能是:
~/.condarc
首先通过修改为conda 配置代理服务器
proxy_servers:
http: http://localhost:9998
https: https://localhost:9998
- 然后使用以下命令从我的 PC SSH 到容器:
ssh -p port kd@mlp -R 9998:someIP:80
我试图用 localhost 或https://repo.anaconda.com/pkgs/main替换 someIP 。两者都没有帮助。
上述解决方案可行吗?ssh 命令会是什么样子?
注意到那个:
- 由于有些包不是 pip 提供的,所以 conda 是必须的。
- 我无法访问远程主机,只能通过 ssh 访问 docker 容器。
- 我无法修改 docker 映像或重新启动 docker 容器。
更新:
- 有一些方法可以离线安装包。但是,它们不是好的解决方案,因为这意味着我必须手动下载 conda/pip 包并将它们传输到相应的 docker。而且我必须手动处理每个环境。希望一些解决方案可以设置 ssh 隧道,以便我的 conda 可以访问互联网。
解决方案
推荐阅读
- arrays - 具有多维矩阵的 blkdiag
- angular - 如何将选定的列保存在内存中?
- python - 当我尝试在 kattis 上上传此 Python 代码时,为什么会出现运行时错误?
- c++ - 使用 C++ 的 C 样式数组?
- sql - 使用 Powershell NULL 值更新或插入 SQL
- .net - 是否可以强制 .NET JIT 将方法重新编译到更高层?
- javascript - 获取数据并动态显示 JavaScript DOM
- html - 文本不垂直居中对齐
- html - Flex 在 chrome 中工作,但在 IE 中不工作
- python - swagger 2.0 - 返回列表/数组而不是 dict