首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次我使用ssh到新机器时,docker能帮助我避免库的重新安装过程吗?

每次我使用ssh到新机器时,docker能帮助我避免库的重新安装过程吗?
EN

Stack Overflow用户
提问于 2020-03-08 16:18:52
回答 1查看 46关注 0票数 0

我有一个清单的python库,我需要重新安装每次我ssh到这台新的计算机在校园。如何确保只需创建一个文件/编写一个命令,就不必重复此重新安装过程?“码头工人”是个好办法吗?

我有一个requirements.txt文件,里面有我需要的所有库

  1. 熊猫
  2. matplotlib
  3. 海航
  4. numpy
  5. 雪橇
  6. opencv-python

该项目有各种木星笔记本,这需要上述进口运行。

我不太熟悉Dockerfiles和Docker容器:

代码语言:javascript
复制
FROM my/base
ADD . /srv
RUN pip install -r requirements.txt
RUN python sunflower.ipynb

ENTRYPOINT ["run_server"]

我会把我的整个项目包装在类似于上面看到的Dockerfile中吗?通过将机器上的一个端口连接到dgx1.cc.gatech.edu上的相应端口,我必须将ssh连接到一个名为dgx1的机器。

代码语言:javascript
复制
8088:localhost:8088 username@dgx1.cc.gatech.edu
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-08 18:48:24

如果可以运行任何Docker命令,则可以获得对整个系统的无限制根访问权限。您不太可能在您所描述的共享系统上运行Docker命令。Docker在这里还有其他几个缺点,我不建议在您描述的用例中使用它。

另一方面,Python文件本身就足以列出所需的依赖项。您可以创建虚拟环境并将这些包安装到它中,它们将在您的控制下并与安装在该系统上的任何其他组件隔离。使用这种方法只需要:

代码语言:javascript
复制
# Create the virtual environment
python3 -m venv ./sunflower

# Make it be your current Python ("activate" it)
. ./sunflower/bin/activate

# Install the packages you need
pip3 install -r requirements.txt

# Run your script
python3 sunflower.ipynb

# Switch back to the system Python
deactivate

如果您在同一个系统中重复使用ssh,您可以重用相同的虚拟环境;重新运行activate命令,那么包就已经安装好了。

(如果您没有更多的专门需求,当前的正式Python工具建议将使用皮彭夫,但它使用与requirements.txt文件不同的包列表文件设置。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60589465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档