|
本文主要列出从安装docker+python环境到迁移环境的整体步骤。windows与linux之间进行测试。简化版可以参考:docker+miniconda+python环境安装与迁移(简化版)-CSDN博客目录一、docker安装和测试二、docker中拉取miniconda,并虚拟环境安装和测试三、环境+代码的迁移并运行(以linux_to_win举例)大概的过程手绘了一下:一、docker安装和测试【linux端】可以参考其他教程,不在此赘述,以windows端举例。【windows端】我的是windows10家庭中文版,docker安装和测试部分的详情可以参考:【Docker】Windows11操作系统下安装、使用Docker保姆级教程_dockerwindo11-CSDN博客1.安装dockerwindows版本下载链接ockerDesktop:The#1ContainerizationToolforDevelopers|Docker安装后重启,登录账号,大概率会报错,报的错是”unexpectedwslerror“2.配置本机电脑,解决上述错误我的是windows10家庭中文版,核对:控制面板--程序--开启或关闭windows功能,如果没勾选,请勾选上这俩。然后:#powershell进去后,输入命令wsl--update#安装后查看版本,显示“默认版本:2”wsl--status注意:启动成功后,我没有再安装linux发行版。有需要的也可以再装一个。在WindowsSubsystemforLinux(WSL)中,当你启用了WSL功能后,你需要从MicrosoftStore中下载并安装所需的Linux发行版。WSL并不自带任何Linux发行版,而是提供了一个框架,允许用户选择并安装自己喜欢的发行版。你可以从MicrosoftStore中搜索并下载你需要的Linux发行版,比如Ubuntu、Debian、OpenSUSE等。安装完所选发行版后,你就可以通过启动WSL来访问和使用它了,而无需再次安装或配置发行版。3.测试docker#cmd进去后,输入命令,进行测试dockerpullhello-worlddockerimagesdockerrunhello-world#列出所有容器dockerps-a#列出正在运行的容器dockerps-q#查看指定容器dockerps-a|grepxxx#暂停/停止/重启某容器dockerpause/stop/restart具体的CONTAINERID#删除容器dockerrm具体的CONTAINERID#删除镜像dockerrmiImage_ID如果pull很慢的话,可配置阿里云镜像加速,记得在false后面加英文","#填入内容"registry-mirrors":["https://inhj05a1.mirror.aliyuncs.com"]二、docker中拉取miniconda,并虚拟环境安装和测试【windows端】1.安装minicondadockersearchminicondadockerpullcontinuumio/miniconda3dockerrun-it--name="miniconda"continuumio/miniconda3/bin/bash2.【测试】创建新环境fortest#下面就和直接在没有docker的环境中一样操作了(base)root@de9f167d9176:/#condacreate-ntestpython=3.8(base)root@de9f167d9176:/#condaactivatetest(test)root@de9f167d9176:/#condaenvlist可以在这个环境中,继续用condainstall或者pipinstall安装其他包。condainstallnumpy=1.93pipinstallnumpy==1.93【linux端】和windows一样的1.安装miniconda和python环境#step1dockersearchminicondadockerpullcontinuumio/miniconda3dockerrun-itcontinuumio/miniconda3/bin/bash#step2condacreate-ntest_lpython=3.8condaactivatetest_l#step3,退出镜像的conda环境exit**在这步里,只需要拉取了continuumio/miniconda3就可以了,不用创建新环境,如果创建了新环境,在退出continuumio/miniconda3这个容器之前,就需要把创建了新环境之后的continuumio/miniconda3保存成新的镜像,不然下次再进来,这次创建的新环境就不见了。**我们更习惯在本地搞一个miniconda,所有环境都在里面,然后当需要打包的时候,在本地将要打包的环境复制到continuumio/miniconda3中。具体看下面的步骤三。三、环境+代码的迁移并运行(以linux_to_win举例)1、本地miniconda及虚拟环境安装先在github上建仓库,然后gitclone到linux中后,在本地创建一个环境,然后测试通过。#下载projectcd目标文件夹gitclone网址#安装miniconda,参考官网mkdir-p~/miniconda3wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh-O~/miniconda3/miniconda.shbash~/miniconda3/miniconda.sh-b-u-p~/miniconda3rm-rf~/miniconda3/miniconda.sh~/miniconda3/bin/condainitbash#建立本地环境condacreate-ntestpython=3.8condaactivatetestcondaenvlistcondadeactivate2、在本地环境中,复制环境+代码到docker的容器中比较详细的介绍可以参考:Docker封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)_continuumio/anaconda3-CSDN博客#创建一个名为test的容器dockerrun--nametest-idtcontinuumio/miniconda3*****************查看容器,找到conda的路径************#进入容器dockerexec-ittest/bin/bash#查看base所在路径condaenvlist#快捷键退出容器,不会停止容器ctrl+d#用exec进入容器,在使用快捷键退出容器时,不会停止容器。所以最开始才使用-idt创建#因为-d参数默认不会进入容器,想要进入容器需要使用指令dockerexec*****************查看容器************#复制本地的环境到test容器中dockercp/home/.../miniconda3/envs/test/test:/opt/conda/envs#复制代码dockercp/home/.../neuron_segmenttest:/root/**************查看容器*************dockerexec-ittest/bin/bashcondaenvlistls/root/ctrl+d**************查看容器*************至此,环境+代码也已复制成功。3、将容器保存为镜像,保存成压缩包#将容器保存为镜像,并查看dockercommit-a'author'-m'instruction'testimage_test#cd到一个目录cd...#压缩镜像dockersave-otest_tar.tarimage_test至此,环境+代码也已打包成功。4、解压镜像、创建容器、测试代码#拷贝.tar文件到指定目录#在win这边/要运行的机器上cmd后,cd到上面的指定目录#ifwincd/d目录#解压,查看后发现,已创建了一个新的image_test的镜像dockerload-itest_tar.tar#创建容器dockerrun--nametest_create-idtimage_test**************进入容器*************dockerexec-ittest_create/bin/bashcondaenvlistls/root/#测试代码condaactivatetestcd/root/文件夹目录python**.py
|
|