Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker能帮助我避免每次ssh到新机器时都重新安装库吗?_Docker_Ssh_Dockerfile - Fatal编程技术网

docker能帮助我避免每次ssh到新机器时都重新安装库吗?

docker能帮助我避免每次ssh到新机器时都重新安装库吗?,docker,ssh,dockerfile,Docker,Ssh,Dockerfile,我有一个python库的列表,每当我在校园的这台新计算机上安装ssh时,我都需要重新安装这些库。如何确保只需创建一个文件/编写一个命令,就不必重复此重新安装过程?Docker是这样做的好方法吗 我有一个requirements.txt文件,里面有我需要的所有库 熊猫 matplotlib 海本 努比 sklearn opencv python 该项目有各种Jupyter笔记本,需要运行上述导入 我不太熟悉Docker文件和Docker容器: FROM my/base ADD . /srv RUN

我有一个python库的列表,每当我在校园的这台新计算机上安装ssh时,我都需要重新安装这些库。如何确保只需创建一个文件/编写一个命令,就不必重复此重新安装过程?Docker是这样做的好方法吗

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

  • 熊猫
  • matplotlib
  • 海本
  • 努比
  • sklearn
  • opencv python
  • 该项目有各种Jupyter笔记本,需要运行上述导入

    我不太熟悉Docker文件和Docker容器:

    FROM my/base
    ADD . /srv
    RUN pip install -r requirements.txt
    RUN python sunflower.ipynb
    
    ENTRYPOINT ["run_server"]
    
    我是否会将我的整个项目包装在一个类似于上面看到的Dockerfile中?我必须通过将我的机器上的一个端口连接到dgx1上相应的端口,以ssh方式连接到名为dgx1.cc.gatech.edu的机器

    8088:localhost:8088 username@dgx1.cc.gatech.edu
    

    如果可以运行任何Docker命令,就可以轻松地获得对整个系统的不受限制的根访问权限。您极不可能在您描述的共享系统上运行Docker命令。Docker还有其他几个缺点,我不建议您在描述用例时使用它

    另一方面,Python
    requirements.txt文件本身就足以列出所需的依赖项。您可以将这些软件包安装到其中,它们将在您的控制下,并与该系统上安装的任何其他软件包隔离。使用这项服务只涉及:

    #创建虚拟环境
    蟒蛇3-m静脉/向日葵
    #让它成为您当前的Python(“激活”它)
    . ./向日葵/垃圾箱/激活
    #安装所需的软件包
    pip3安装-r requirements.txt
    #运行脚本
    蟒蛇3向日葵
    #切换回Python系统
    使停止工作
    
    如果您重复ssh到同一个系统中,您可以重用相同的虚拟环境;重新运行
    activate
    命令,软件包将已安装

    (如果您没有更专门的需求,但使用了与
    requirements.txt
    文件不同的软件包列表文件设置,则使用当前设置。)