docker + miniconda + python 环境安装与迁移(详细版)
本文主要列出从安装docker+python环境到迁移环境的整体步骤。windows与linux之间进行测试。
简化版可以参考:docker + miniconda + python 环境安装与迁移(简化版)-CSDN博客
目录
一、docker 安装和测试
二、docker中拉取miniconda,并虚拟环境安装和测试
三、环境+代码的迁移并运行(以linux _to_win举例)
大概的过程手绘了一下:

一、docker 安装和测试
【linux端】
可以参考其他教程,不在此赘述,以windows端举例。
【windows端】
我的是windows10 家庭中文版,docker 安装和测试部分的详情 可以参考:
【Docker】Windows11操作系统下安装、使用Docker保姆级教程_docker windo11-CSDN博客
1. 安装docker windows 版本
下载链接:Docker Desktop: The #1 Containerization Tool for Developers | Docker
安装后重启,登录账号,大概率会报错,报的错是”unexpected wsl error“
2. 配置本机电脑,解决上述错误
我的是windows10 家庭中文版,核对:
控制面板--程序--开启或关闭windows功能,如果没勾选,请勾选上这俩。

然后:
# powershell进去后,输入命令
wsl --update# 安装后查看版本,显示“默认版本:2”
wsl --status
注意:启动成功后,我没有再安装linux发行版。有需要的也可以再装一个。
在 Windows Subsystem for Linux (WSL) 中,当你启用了WSL功能后,你需要从Microsoft Store中下载并安装所需的Linux发行版。WSL并不自带任何Linux发行版,而是提供了一个框架,允许用户选择并安装自己喜欢的发行版。你可以从 Microsoft Store 中搜索并下载你需要的 Linux 发行版,比如 Ubuntu、Debian、OpenSUSE 等。安装完所选发行版后,你就可以通过启动WSL来访问和使用它了,而无需再次安装或配置发行版。
3. 测试docker
# cmd进去后,输入命令,进行测试docker pull hello-worlddocker imagesdocker run hello-world# 列出所有容器
docker ps -a# 列出正在运行的容器
docker ps -q# 查看指定容器
docker ps -a|grep xxx# 暂停/停止/重启 某容器
docker pause/stop/restart 具体的CONTAINER ID# 删除容器
docker rm 具体的CONTAINER ID# 删除镜像
docker rmi Image_ID
如果pull很慢的话,可配置阿里云镜像加速, 记得在false后面加英文","
# 填入内容
"registry-mirrors": ["https://inhj05a1.mirror.aliyuncs.com"]

二、docker中拉取miniconda,并虚拟环境安装和测试
【windows端】
1. 安装miniconda
docker search minicondadocker pull continuumio/miniconda3docker run -it --name="miniconda" continuumio/miniconda3 /bin/bash
2. 【测试】创建新环境 for test
# 下面就和直接在没有docker的环境中一样操作了
(base) root@de9f167d9176:/# conda create -n test python=3.8(base) root@de9f167d9176:/# conda activate test
(test) root@de9f167d9176:/# conda env list

可以在这个环境中,继续用conda install 或者pip install安装其他包。
conda install numpy=1.93
pip install numpy==1.93
【linux端】和windows一样的
1. 安装miniconda和python环境
# step1
docker search minicondadocker pull continuumio/miniconda3docker run -it continuumio/miniconda3 /bin/bash# step2
conda create -n test_l python=3.8
conda activate test_l# step3, 退出镜像的conda环境
exit
**在这步里,只需要拉取了continuumio/miniconda3就可以了,不用创建新环境,如果创建了新环境,在退出continuumio/miniconda3这个容器之前,就需要把创建了新环境之后的continuumio/miniconda3保存成新的镜像,不然下次再进来,这次创建的新环境就不见了。
**我们更习惯在本地搞一个miniconda,所有环境都在里面,然后当需要打包的时候,在本地将要打包的环境复制到continuumio/miniconda3中。具体看下面的步骤三。
三、环境+代码的迁移并运行(以linux _to_win举例)
1、本地miniconda及虚拟环境安装
先在github上建仓库,然后git clone到linux中后,在本地创建一个环境,然后测试通过。
# 下载project
cd 目标文件夹
git clone 网址# 安装miniconda,参考官网
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh~/miniconda3/bin/conda init bash# 建立本地环境
conda create -n test python=3.8
conda activate test
conda env listconda deactivate
2、在本地环境中,复制环境+代码到docker的容器中
比较详细的介绍可以参考:
Docker 封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)_continuumio/anaconda3-CSDN博客
# 创建一个名为test的容器
docker run --name test -idt continuumio/miniconda3*****************查看容器, 找到conda的路径************
# 进入容器
docker exec -it test /bin/bash# 查看base所在路径
conda env list# 快捷键退出容器,不会停止容器
ctrl+d # 用exec进入容器,在使用快捷键退出容器时,不会停止容器。所以最开始才使用-idt创建
# 因为 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec*****************查看容器************
# 复制本地的环境到test容器中
docker cp /home/.../miniconda3/envs/test/ test:/opt/conda/envs# 复制代码
docker cp /home/.../neuron_segment test:/root/**************查看容器*************
docker exec -it test /bin/bash
conda env list
ls /root/
ctrl+d
**************查看容器*************
至此,环境+代码也已复制成功。
3、将容器保存为镜像,保存成压缩包
# 将容器保存为镜像,并查看
docker commit -a 'author' -m 'instruction' test image_test# cd到一个目录
cd ...# 压缩镜像
docker save -o test_tar.tar image_test
至此,环境+代码也已打包成功。
4、解压镜像、创建容器、测试代码
# 拷贝.tar文件到指定目录# 在win这边/要运行的机器上cmd后,cd到上面的指定目录
# if win
cd /d 目录# 解压,查看后发现,已创建了一个新的image_test的镜像
docker load -i test_tar.tar

# 创建容器
docker run --name test_create -idt image_test**************进入容器*************
docker exec -it test_create /bin/bash
conda env list
ls /root/
# 测试代码
conda activate test
cd /root/文件夹目录
python **.py相关文章:
docker + miniconda + python 环境安装与迁移(详细版)
本文主要列出从安装dockerpython环境到迁移环境的整体步骤。windows与linux之间进行测试。 简化版可以参考:docker miniconda python 环境安装与迁移(简化版)-CSDN博客 目录 一、docker 安装和测试 二、docker中拉取minicondaÿ…...
蓝桥杯刷题第八天(dp专题)
这道题有点像小学奥数题,解题的关键主要是: 有2种走法固走到第i级阶梯,可以通过计算走到第i-1级和第i-2级的走法和,可以初始化走到第1级楼梯和走到第2级楼梯。分别为f[1]1;f[2]1(11)1(2)2.然后就可以循环遍历到后面的状态。 f[i…...
【WEEK6】 【DAY1】DQL查询数据-第一部分【中文版】
2024.4.1 Monday 目录 4.DQL查询数据(重点!)4.1.Data Query Language查询数据语言4.2.SELECT4.2.1.语法4.2.2.实践4.2.2.1.查询字段 SELECT 字段/* FROM 表查询全部的某某查询指定字段 4.2.2.2.给查询结果或者查询的这个表起别名(…...
Linux:权限篇
文章目录 前言1.用户2.文件的权限管理2.1 修改文件的权限2.2 修改文件的拥有者2.3 修改文件的所属组 3.file指令4.umask指令4.目录的权限管理总结 前言 Linux权限在两个地方有所体现,一种是使用用户:分为root超级用户员与普通用户。另一个是体现在文件的…...
Lua热更新(xlua)
发现错误时检查是否:冒号调用 只需要导入asset文件夹下的Plugins和Xlua这两个文件即可,别的不用导入 生成代码 和清空代码 C#调用lua using Xlua; 需要引入命名空间 解析器里面执行lua语法 lua解析器 LuaEnv 单引号是为了避免引号冲突 第二个参数是报错时显示什么提示…...
并查集(基础+带权以及可撤销并查集后期更新)
并查集 并查集是一种图形数据结构,用于存储图中结点的连通关系。 每个结点有一个父亲,可以理解为“一只伸出去的手”,会指向另一个点,初始时指向自己。一个点的根节点是该点的父亲的父亲的..的父亲,直到某个点的父亲…...
基于 Java 的数据结构和算法 (不定期更新)
JavaIsBestLang 数据结构 Collection 是 Java 中的接口,被多个泛型容器接口所实现。在这里,Collection 是指代存放对象类型的数据结构。 ArrayList 函数名功能size()返回 this 的长度add(Integer val)在 this 尾部插入一个元素add(int idx, Integer …...
考研回忆录【二本->211】
备考时长差不多快一年半,从22年的11月底开始陆陆续续地准备考研,因为开始的早所以整个备考过程显得压力不是很大,中途还去一些地方旅游,我不喜欢把自己绷得太紧。虽然考的不是很好,考完我甚至都没准备复试,…...
【XCPC笔记】2023 (ICPC) Jiangxi Provincial Contest——ABCIJKL 做题记录
补题 赛后gym练习及补题,gym链接:2023 (ICPC) Jiangxi Provincial Contest – Official Contest 另外,D题我也打算找机会学习写下,C题的博弈论还需要好好理解,感觉都是比较有趣的数学问题 补题顺序如下 补题L [Zhang …...
猫头虎分享已解决Bug || **URLError (URL错误)** 全方位解析
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …...
如何使用极狐GitLab 启用自动备份功能
本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何极狐GitLab 自…...
HTML/XML转义字符对照
特殊字符转义表 字符十进制转义字符""&&<<<>>>不断开空格(non-breaking space) 最常用的转义字符列表 显示说明实体名称十进制编号半方大的空白 全方大的空白 不断行的空白格 <小于<<>大于&g…...
设计模式:组合模式示例
组合模式的典型例子通常涉及到树形结构的处理,下面是几个形象且易于理解的例子: 文件系统 在文件系统中,目录可以包含文件或者其他目录,但是从用户的角度来看,目录和文件都可以被“打开”或者“获取大小”。这里的目…...
普通情况和高并发时,Redis缓存和数据库怎么保持一致?
普通情况和高并发时,Redis缓存和数据库怎么保持一致? 普通情况思路 高并发时思路 Q:缓存和数据库怎么保持一致? A:绝对不可能保持一致的,在实际业务开发中,有一些方案可以做取舍。 实际业务中&a…...
Django -- 自动化测试
概述 测试是一种例行的、不可缺失的工作,用于检查你的程序是否符合预期。 测试可以划分为不同的级别。一些测试可能专注于小细节(比如某一个模型的方法是否会返回预期的值?), 一些测试则专注于检查软件的整体运行是否…...
NodeJS 在Windows / Mac 上实现多版本控制
NodeJS 的多版本控制 本文介绍一下在 windows/MacOS 上 如何 切换和使用多个版本的 NodeJS。 Windows 本小节介绍一下在windows上管理不同版本的NodeJS。 nvm-windows 工具 nvm-windows 是在 windows 上管理 NodeJS 版本的一个工具。 它可以很方便的 下载、移除、查看、切…...
Web3 游戏周报(3.24-3.30)
【3.24-3.30】Web3 游戏行业动态: Web3 开发平台 Mirror World 在 Solana 上推出首个游戏 rollup 链 NFT 卡牌游戏 Parallel 完成 3,500 万美元融资,Solana Ventures 等参投 加密游戏开发公司 Gunzilla Games 完成 3,000 万美元融资 Telegram 游戏 No…...
算法思想1. 分治法2. 动态规划法3. 贪心算法4. 回溯法
目录 递归和动态的区别:空间和时间复杂度之争 递归空间复杂度低;动态时间复杂度第低...
SpringBoot+ECharts+Html 地图案例详解
1. 技术点 SpringBoot、MyBatis、thymeleaf、MySQL、ECharts 等 此案例使用的地图是在ECharts社区中查找的:makeapie echarts社区图表可视化案例 2. 准备条件 在mysql中创建数据库echartsdb,数据库中创建表t_location_count表,表中设置两个…...
达梦数据库 优化
谁进行优化?优化什么? 优化不能仅从数据库方面考虑,比如,在存储达到数据库极限、应用涉及人员设计的代码稀巴烂的情况下,进行调优就是杯水车薪的效果。 涉及到优化人员: 数据库管理员应用程序架构师应用…...
基于YOLOv11深度学习的管道泄露识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
一、项目介绍 随着工业管道的广泛应用,泄漏事故不仅会造成资源浪费,还可能引发严重的安全事故和环境污染。传统的管道泄漏检测方法主要依靠人工巡检或传感器监测,存在效率低、响应慢、成本高等问题。为解决这一难题,本项目基于YOL…...
2025年雀魂Mod工具终极指南:从痛点分析到实践探索
2025年雀魂Mod工具终极指南:从痛点分析到实践探索 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等,支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 在雀魂游戏体验中,你是否曾因角…...
5步征服显存难题:多语言MiniLM模型量化优化实战指南
5步征服显存难题:多语言MiniLM模型量化优化实战指南 【免费下载链接】paraphrase-multilingual-MiniLM-L12-v2 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/paraphrase-multilingual-MiniLM-L12-v2 1. 诊断显存瓶颈 在部署paraphrase-multili…...
别再踩坑PX4Flow了!实测优象LC-302光流模块,手把手教你搞定PX4无人机室内悬停
无人机室内悬停实战指南:优象LC-302光流模块深度评测与PX4调参技巧 当无人机从开阔的室外飞入复杂的室内环境,GPS信号的突然消失往往让飞手们手忙脚乱。这时,一套可靠的光流定位系统就成了"空中救生绳"。本文将带您深入评测市面上主…...
GluonCV版本升级指南:从0.8到0.11的10大新特性详解
GluonCV版本升级指南:从0.8到0.11的10大新特性详解 【免费下载链接】gluon-cv dmlc/gluon-cv: GluonCV 是由DMLC(Apache MXNet背后的社区)开发的一个计算机视觉库,为研究人员和工程师提供了大量预训练模型、基准测试和工具&#x…...
Windows Insider离线管理完全指南:无账户切换方法与命令行操作技巧
Windows Insider离线管理完全指南:无账户切换方法与命令行操作技巧 【免费下载链接】offlineinsiderenroll 项目地址: https://gitcode.com/gh_mirrors/of/offlineinsiderenroll 在Windows系统管理中,用户常常面临需要在不同更新通道间切换的需求…...
HunyuanVideo-FoleyGPU算力优化实践:24GB显存利用率提升30%实测分析
HunyuanVideo-FoleyGPU算力优化实践:24GB显存利用率提升30%实测分析 1. 引言 在视频内容创作领域,HunyuanVideo-Foley作为一款集视频生成与AI音效合成于一体的先进工具,正逐渐成为专业创作者的首选。然而,其强大的功能背后是对硬…...
Golang面试避坑指南:这5个并发问题90%的人答不对
Golang面试避坑指南:这5个并发问题90%的人答不对 刚接触Go语言的开发者往往会被其简洁的语法和高效的并发模型所吸引,但真正深入使用后才会发现,并发编程中隐藏着许多意想不到的陷阱。特别是在技术面试中,面试官常常会通过精心设计…...
像素幻梦·创意工坊部署教程:Mac M1/M2芯片原生运行FLUX.1-dev像素生成
像素幻梦创意工坊部署教程:Mac M1/M2芯片原生运行FLUX.1-dev像素生成 1. 前言:认识像素幻梦创意工坊 像素幻梦创意工坊(Pixel Dream Workshop)是一款专为像素艺术创作设计的AI工具,基于最新的FLUX.1-dev扩散模型构建。与传统的AI绘图工具不…...
ChatGPT公式复制到Word的自动化实践:从手动操作到脚本实现
ChatGPT公式复制到Word的自动化实践:从手动操作到脚本实现 作为一名经常需要整理技术文档的开发者,我过去常常被一个看似简单却异常繁琐的任务困扰:将ChatGPT生成的数学公式或代码片段复制到Microsoft Word中。每次操作都像是一场格式的“灾…...

