python将conda环境打入docker环境中

1.假设你本地已经安装好了conda相关的

ubuntu安装python以及conda-CSDN博客

并且已经创建启动过相关的环境,并且install了相关的包。

我本地的conda环境叫做,gptsovits_conda3

2.下载conda打包工具

conda install conda-pack
pip install conda-pack

3.打包

conda pack -n gptsovits_conda3 -o envconda.tar.gz --ignore-missing-files

-n conda环境名称,-o envconda.tar.gz打包的压缩文件名称

4.编写Dockerfile

1.)   拉一个镜像,我拉了个ubuntu的

2.)安装conda基础环境

因为conda环境要执行回车和yes之类的,用sh不好执行。所以这里拉完基础镜像后,进入镜像内commit一个docker出来。

基础镜像

准备

1.我已经下载好了conda的.sh

wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate

2.也把envconda.tar.gz打包文件放到了此目录

3.Dockerfile

FROM cnstark/pytorch:2.0.1-py3.9.17-cuda11.8.0-ubuntu20.04
RUN apt-get update \
&& apt-get install -y vim
WORKDIR /workspace
COPY Anaconda3-2022.10-Linux-x86_64.sh /workspace/
COPY envconda.tar.gz /workspace/
CMD ["/bin/bash", "-c", "while true; do sleep 1000; done"]

操作

然后build

docker build -t 名字 .

然后启动

docker run -itd 容器名字

然后进入容器内

docker exec -it 容器id /bin/bash

进去之后就加个执行权限

chmod 755 Anaconda3-2022.10-Linux-x86_64.sh

然后执行安装包

./Anaconda3-2022.10-Linux-x86_64.sh

然后yes,回车,yes千万【不要点快】了,否则你得自己配置环境变量

然后输入conda有内容弹出说明安装成功。

然后激活我们复制过来的本机镜像

mkdir gptsovits_conda3

tar -zxvf envconda.tar.gz -C gptsovits_conda3/

然后将这个复制到docker中的conda目录内

mv /workspace/gptsovits_conda3/ /root/anaconda3/envs/

然后启动

conda activate gptsovits_conda3

成功

commit提交一个新的镜像

exit退出当前,但是我没有关闭容器哈

sudo docker commit -a "clark" -m "create new img" 正在启动的容器id 新镜像的名称:版本

sudo docker commit -a "clark" -m "create new img" e460d502d6a7 gptsovits_base:0.1

看成功了

docker将容器打包成新镜像_docker 多个容器打包成一个镜像-CSDN博客

测试,进入新容器,看看是不是有这个环境,有!!!成功

5.) 启动依赖此conda环境的程序测试(任意

参考:

linux根据本地conda虚拟环境进行docker部署_linux 打包自己conda的镜像-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/434965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java八股文复习-----2024/03/04----基础

相关资源 大彬八股文 2024八股文 2024秋招八股文 1.了解Java的包装类型吗?为什么需要包装类? Java 是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将 int 、double 等类型…

lvs集群介绍

目录 一、LVS集群基本介绍 1、什么是集群 2、集群的类型 2.1 负载均衡群集(Load Balance Cluster) 2.2 高可用群集(High Availiablity Cluster) 2.3 高性能运算群集(High Performance Computing Cluster) 3、负载均衡集群的结构 ​编辑 4、LVS集群类型中的…

苹果电脑安装Android Studio和配置SDK

大家好,我是你们的好朋友咕噜铁蛋!今天,我们要来聊一聊关于《苹果电脑安装Android Studio和配置SDK》这个话题。对于使用苹果电脑的开发者来说,安装Android Studio并配置SDK可能会有些不同,但只要跟着我的指引&#xf…

Linux篇:基础IO

一 预备知识 1. 文件内容属性,内容与属性都是数据,都要在磁盘中保存。 2. 文件分为打开的文件和没打开的文件。 3. 进程在访问一个文件的时候,都是要先打开这个文件。打开文件之前,文件在磁盘,打开文件之后&#xff0…

基于OpenCV的图形分析辨认02

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言:Python,编程软件:vscode或pycharm,必备的第三方库:OpenCV,numpy,matplotlib,os等等。 关于OpenCV&…

【python 1】----Pytest基础知识

定义 用于编写和执行Python测试全功能测试框架(工具),是一个第三方库 安装 pip insatll pytest 安装pytest --version 校验 pytest的组成构成 不写调用语句也可以执行函数内容 在用例运行语句里面: -s:指的是开启与终端的…

【CSP试题回顾】201512-2-消除类游戏

CSP-201512-2-消除类游戏 解题思路 输入棋盘大小和颜色: 首先,程序从标准输入读取两个整数n和m,分别代表棋盘的行数和列数。然后,程序读取接下来的n行输入,每行包含m个整数,代表棋盘上每个方格中的棋子颜色。 初始化…

电子台账:通过标签颜色快速区分某月账页是否为空、是否锁定

目录 1 数据为空的账页,标签顶部没有标记色条 2 包含有效数据的账页且未进行锁定,标签顶部为深绿色标记色条 3 包含有效数据的账页且被锁定,标签顶部为橙色标记色条 通过设置账页标签的颜色,快速区分哪些月份的账页数据为空&am…

【书生·浦语大模型实战营】第6节 OpenCompass 大模型评测 课后作业

OpenCompass 大模型评测 0. 课程链接1. 课后作业1.1 基础作业1.2 进阶作业 2. 结业总结 0. 课程链接 链接:https://github.com/InternLM/tutorial/blob/main/opencompass/opencompass_tutorial.md 1. 课后作业 1.1 基础作业 使用 OpenCompass 评测 InternLM2-Cha…

python高级之元类

python高级之元类 一、Type创建类1、传统方式创建类2、非传统方式 二、元类三、总结 一、Type创建类 class A(object):def __init__(self, name):self.name namedef __new__(cls, *args, **kwargs):data object.__new__(cls)return data根据类创建对象 objA(‘kobe’) 1、执…

机器视觉相关网站推荐

机器视觉相关网站推荐 - 知乎计算机视觉(Computer Vision)最近这几年发展迅速,技术论坛和QQ群也如雨后春笋,特别是人脸检测/识别领域。近段时间云从君从研究院那里探得了好几个论坛,收藏了若干网站,记录下&…

领域驱动设计(Domain-Driven Design DDD)——战略设计2

二、保持模型的完整性 2、模式:Continuous Integration 定义一个Bounded Context后,必须让它保持合理。 当很多人在同一个Bounded Context中工作时,模型很容易发生分裂。团队越大,问题就越大,但即使是3、4个人的团队也…

状压dp详解,棋盘式、集合型,OJ详解

文章目录 零、引例-小国王1.问题描述2.暴力枚举3.多维dp4.维度压缩 一、状压dp1.认识状压dp2.棋盘式(基于连通性)2.1小国王2.1.1题目链接2.1.2思路分析2.1.3AC代码 2.2玉米田2.2.1题目链接2.2.2思路分析2.2.3AC代码 2.3炮兵阵地2.3.1题目链接2.3.2思路分析2.3.3AC代码 2.4蒙德里…

C++ 快速排序快速选择OJ

目录 1、75. 颜色分类 2、912. 排序数组 3、 215. 数组中的第K个最大元素 4、LCR 159. 库存管理 III 1、75. 颜色分类 思路:利用快速排序思路,使用三指针分块进行优化。 [0,left]——小于key[left1,right-1]——等于key[right,nums.size()]——大于k…

抖店怎么做起来?2024新版操作逻辑,做项目要做一米宽万米深

我是王路飞。 不知不觉间,我已经在抖音电商这条赛道深耕走过了四年。 这四年里,我们有了自己的黑标品牌旗舰,有了自己的仓库配套周边,有了自己的模式体系人员,有了数不清的类目和产品操作经验。 收获着身后团队伙伴…

107. sort( )方法-排序列表元素(上)

107. sort( )方法-排序列表元素(上) 【目录】 文章目录 107. sort( )方法-排序列表元素(上)1. 作用2. 语法3. 数值列表排序4. key str.lower 排序时不区分字母大小写5. 如何理解区分大小写6. key len 按照元素的长度进行排序7.…

Objective-C blocks 概要

1.block的使用 1.1什么是block? Blocks是C语言的扩充功能:带有自动变量(局部变量)的匿名函数。 “带有自动变量”在Blocks中表现为“截取自动变量" “匿名函数”就是“不带名称的函数” 块,封装了函数调用及调用…

Tailscale中继服务derper使用docker-compose部署

docker启动 docker run --restart always \--name derper -p 12345:12345 -p 3478:3478/udp \-v /root/.acme.sh/xxxx/:/app/certs \-e DERP_CERT_MODEmanual \-e DERP_ADDR12345 \-e DERP_DOMAINxxxx \-d ghcr.io/yangchuansheng/derper:latestdocker-compose启动 version: …

STM32(18)I2C

串口通信缺点 一个设备就需要一个串口,单片机可能没有那么多串口外设 总线/非总线 主机:负责管理总线,可控制波特率、数据的通信方向 波特率:由主机产生波特率信号 数据的传输 每个从机都有7位地址,最后移位是读&a…

Android开发教程入门,那些被大厂优化的程序员们

Binder原理 1、概述 Android系统中,涉及到多进程间的通信底层都是依赖于Binder IPC机制。例如当进程A中的Activity要向进程B中的Service通信,这便需要依赖于Binder IPC。不仅于此,整个Android系统架构中,大量采用了Binder机制作…