【dockerpython】亲测有效!适合新手!docker创建conda镜像+容器使用(挂载、端口映射、gpu使用)+云镜像仓库教程
文章目录
- docker基本概念简介
- 配置镜像加速源
- 创建conda镜像
- 1. 写 Dockerfile文件
- 2. 创建镜像
- 3. 创建容器并测试
- 容器的使用
- 1. wsl挂载
- 2. 端口映射
- 3. 补充-gpu
- 云镜像仓库使用
- 1. 登录
- 2. 将本地镜像上传至云镜像仓库
- 3. 从云镜像仓库下载镜像到本地
docker基本概念简介
简单来讲,docker可以理解为一个虚拟机,里面用来存放运行程序所需要的环境(各种包)
docker里面有三个基本概念:镜像、容器和仓库:镜像和容器的关系,其实类似于类和对象的关系(镜像就是模板,容器则是从镜像实例化出的一个实例);而云仓库存的是镜像!
- 先把自己本地环境打包成docker file,然后上传到仓库;
- 然后再从仓库下载镜像文件到Linux服务器;
- 将下载下来的镜像文件实例化成容器;
- 最后,运行容器即可!
配置镜像加速源
如果不配置镜像加速源的话,下载一些基础镜像的时候会失败!所以这步必须配置!
(之前也是尝试了很多的命令行方法都没有成功,猜测因为wsl依赖于docker desktop的配置)
"registry-mirrors": ["https://inhj05a1.mirror.aliyuncs.com"]

创建conda镜像
1. 写 Dockerfile文件
FROM continuumio/miniconda3 AS base
WORKDIR /yhyENV PATH /opt/conda/envs/yhy/bin:$PATHRUN conda create --name yhy python=3.9 \&& /bin/bash -c "source activate yhy" \&& echo "conda activate yhy" >> ~/.bashrc \&& pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \uvicorn fastapi torch loguru pydantic langchain vllm
2. 创建镜像
docker build -t yhy_conda -f Dockerfile .
镜像创建过程:
- 激活虚拟环境ing…

- 下载各种包ing…

3. 创建容器并测试
如下,执行创建容器并进入容器命令,从yhy_conda镜像中创建了一个名为yhy_conda_test的容器:
docker run -it --name yhy_conda_test yhy_conda:latest /bin/bash
执行pip list,可以发现包都已安装成功。

容器的使用
1. wsl挂载
以上过程中已经成功创建了conda镜像以及其实例化出的容器,我们可以在容器这个虚拟环境中运行python程序了,但是容器中东西是空的,并没有代码,直接的想法是和宿主机共享代码文件等资源,这里就需要用到挂载了。
挂载即:将宿主机的目录挂载到docker容器指定目录里,这样每次宿主机的目录修改了,这种修改会同步到对应的docker容器指定目录,从而实现文件的共享!
- 挂载命令:如下,将宿主机上的
/mnt/e/job_document/AICode挂载到docker的/yhy/AICode上
docker run -it --privileged=true -v /mnt/e/job_document/AICode:/yhy/AICode yhy_conda
如下,可以发现已经挂载成功。


2. 端口映射
有时我们希望宿主机访问docker容器里的服务,但是docker容器的ip地址是随机分配的、变化的,外界并不能访问到,因此如果想要宿主机和docker容器通信,就要用到端口映射。
端口映射即:宿主机和docker共享ip地址,将docker的xx端口映射到宿主机的xx端口,这样在宿主机中通过宿主机ip地址(或127.0.0.1)就能访问到docker容器里的服务!
- 端口映射命令:将docker的12311端口映射到宿主机的80端口
docker run --gpus all -it --name yhy_container -p 80:12311 --privileged=true -v /mnt/e/job_doc
ument/AICode:/yhy/AICode yhy_conda
- docker中为12311端口

- 宿主机用80端口访问成功!

3. 补充-gpu
如果想要在docker中使用宿主主机的GPU,则需要加上
–gpus all参数。(如果失败,可能是没有安装nvidia-docker,官网或网上都有教程)
- 运行容器时,加上
–gpus all!
docker run --gpus all -it --privileged=true -v /mnt/e/job_document/AICode:/yhy/AIC
ode yhy_conda
云镜像仓库使用
1. 登录
docker login
然后输入自己的用户名和密码!
2. 将本地镜像上传至云镜像仓库
docker tag yhy_conda cis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_conda
docker push cis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_conda

3. 从云镜像仓库下载镜像到本地
docker pull cis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_conda

相关文章:
【dockerpython】亲测有效!适合新手!docker创建conda镜像+容器使用(挂载、端口映射、gpu使用)+云镜像仓库教程
文章目录 docker基本概念简介配置镜像加速源创建conda镜像1. 写 Dockerfile文件2. 创建镜像3. 创建容器并测试 容器的使用1. wsl挂载2. 端口映射3. 补充-gpu 云镜像仓库使用1. 登录2. 将本地镜像上传至云镜像仓库3. 从云镜像仓库下载镜像到本地 docker基本概念简介 简单来讲&a…...
矩阵,求矩阵秩、逆矩阵
求矩阵秩的方法: 高斯消元法:通过行变换将矩阵化为行阶梯形矩阵,然后数非零行的数量。LU分解:通过分解矩阵成上下三角矩阵,计算非零对角元素的数量。SVD分解:通过奇异值分解,计算非零奇异值的数…...
指针和const
const int* ptr,int* const ptr,const int* const ptr 这三种指针定义有什么区别?用法有什么不同? 指向的地址是否可变指向的地址上存储的内容是否可变const属性const int* ptr可改变不可改*ptr具有const属性int* const pts不可改…...
基于C#调用文心一言大模型制作桌面软件(可改装接口)
目录 开发前的准备账号注册应用创建应用接入 开始开发创建项目设计界面使用 AK,SK 生成鉴权签名窗体代码 百度智能云千帆大模型平台什么是百度智能云千帆大模型平台模型更新记录 开发前的准备 账号注册 访问百度智能云平台,通过百度账号登录或手机号验证…...
VScode插件安装
一、常用插件 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code vscode 中文插件 Auto Rename Tag 闭合标签 Path Intellisense 一个非常实用的工具,它提供了文件路径的自动补全功能,可以极大地提高开发效率。路径自动补全、…...
《Milvus Cloud向量数据库指南》——高可用黄金标准:深入解析与业务策略考量
高可用黄金标准:深入解析与业务策略考量 在信息技术飞速发展的今天,高可用性(High Availability, HA)已成为衡量企业IT系统性能与稳定性的关键指标之一。它不仅仅关乎技术层面的优化与配置,更是企业保障业务连续性、提升客户体验、增强市场竞争力的重要基石。尽管高可用性…...
sqli-labs注入练习1,2关
sqli-labs第一关 判断是否存在sql注入 可见,根据输入数字的不同,结果也不同 判断sql语句是否是拼接,且是字符型还是数字型 由上可见,这关指定是字符型且存在sql注入漏洞 使用联合注入 第一步:首先知道表格有几列&…...
B站宋红康JAVA基础视频教程个人笔记chapter04
文章目录 1.IDEA安装好后的一些设置和学习1.1关于IDEA内部jdk版本的设置1.2 一些样式以及快捷键的常用设置(强烈推荐) 2.工程与模块管理3.如何彻底的卸载IDEA 1.IDEA安装好后的一些设置和学习 1.1关于IDEA内部jdk版本的设置 1.File—>Project Struc…...
关于java枚举为什么可以拿来当单例实现这件事看看ikun怎么说
为什么枚举可以保证单例 枚举可以保证单例的原因主要可以归结为以下几个方面: 1. 枚举的实例化过程 线程安全:枚举的实例化过程是由JVM控制的,在类加载时就完成了枚举常量的初始化。由于这个初始化过程是线程安全的(JVM在加载枚…...
Hugging Face下载模型
1、安装 huggingface-cli pip install -U huggingface_hub 2、设置环境变量(如果你打算使用 HF_ENDPOINT 环境变量来指定下载镜像站点): export HF_ENDPOINThttps://hf-mirror.com 3、使用 huggingface-cli 下载模型: 使用下面的命令来下…...
JVM-垃圾回收
什么是JVM的垃圾回收? 垃圾回收(Garbage Collection, GC)是Java虚拟机(JVM)自动管理内存的一种机制,其目的是自动回收不再使用的对象所占用的内存空间,以防止内存泄漏和提升内存利用效率。 运…...
8.C基础_指针基础
指针概述 1、定义与初始化 形式:<数据类型>* <变量名> <地址>; int a 10; int *p &a; 指针的类型不同,p时的偏移地址量不同,偏移地址 sizeof(类型)Byte 注意点: 指针的类型要与数据的类型保持一…...
安泰功率放大器使用注意事项有哪些内容和要求
功率放大器是一种广泛应用于音频系统、通信系统和实验室等领域的设备,其作用是将输入信号放大到足够大的功率输出。为了安全使用功率放大器并保证其性能和寿命,以下是一些使用功率放大器时需要注意的事项和要求。 一、选择适当的功率放大器: …...
windows下,使用vs code远程连接云服务器【以CentOS7为例】
windows下,使用vs code远程连接云服务器 1. 下载VS code并准备相关插件2. 使用Remote - SSH远程控制Linux 1. 下载VS code并准备相关插件 1. VS code官网: 下载地址:https://code.visualstudio.com/Download下载合适版本的vs code。 2. 推荐…...
x264 中像素扩边算法源码分析
介绍 在视频编码中,特别是在使用x264这样的H.264/MPEG-4 AVC编码器时,像素扩边(或称为边缘扩展)是一项重要的预处理步骤。像素扩边的目的是在帧的边缘添加额外的像素,这样在编码过程中可以应用滤波器,如去块滤波器(deblocking filter)和水平/垂直滤波器,而不会受到帧…...
数据结构——双链表详解(超详细)
前言: 小编在之前已经写过单链表的创建了,接下来要开始双链表的讲解了,双链表比单链表要复杂一些,不过确实要比单链表更好进行实现!下面紧跟小编的步伐,开启今天的双链表之旅! 目录 1.概念和结构…...
银行项目利润问题(贪心思想)
import java.util.Comparator; import java.util.PriorityQueue;public class test32 {//输入正数数组costs、正数数组profits、正数K、正数M//costs[i]表示i号项目花费,profits[i]表示i号项目在扣除花费后还挣的钱//K表示有多少项目//M表示初始资金//每做完一个项目…...
SQLite
SQLite Insert 插入 语句 方式1: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); 方式2: INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); (如果要…...
浅谈 Mybatis 框架
文章目录 一、什么是MyBatis?1.2、JDBC 二、使用Mybatis2.1、配置MyBatis开发环境2.1.1、配置连接字符串2.1.2、配置MyBatis中的XML路径 2.2、使用MyBatis模式和语法操作数据库 三、使用 Mybatis 进行增删改查操作的要点3.1、ResultMap的用法 四、Mybatis操作难点4.1、#{ } 和…...
【星海随笔】OSPF协议
OSPF OSPF 可在单一自治系统(Autonomous System, AS)内决策路由。OSPF 是目前内部网关协议中使用最为广泛、性能最优的一个动态路由协议。 (1) OSPF 的特点。可适应大规模的网,路由变化收敛速度块,无路由自环,支持变…...
Qwen3-ForcedAligner在开源项目中的贡献指南
Qwen3-ForcedAligner在开源项目中的贡献指南 1. 引言 如果你对语音识别和音频处理感兴趣,想要为开源项目做贡献,Qwen3-ForcedAligner是个绝佳的选择。这个项目专注于语音文本对齐技术,能够精确标注音频中每个词或字符的时间戳,对…...
24小时运行:OpenClaw+GLM-4.7-Flash的网站监控方案
24小时运行:OpenClawGLM-4.7-Flash的网站监控方案 1. 为什么需要自动化网站监控 去年我负责维护的某个技术博客突然遭遇了持续3天的数据库连接泄漏,直到用户投诉才发现问题。手动刷新网页检查状态的方式,在深夜和周末存在明显的监控盲区。这…...
SCRFD实战:从数据标注到模型训练的全流程指南
1. SCRFD算法基础与场景适配 SCRFD作为轻量级人脸检测算法,最初设计用于输出人脸矩形框及5个关键点(左右眼、鼻尖、嘴角)。但在工业质检、医疗影像等领域,我们常需要检测其他目标并调整关键点数量。比如检测电路板元件需要3个定位…...
突破格式壁垒:AnythingLLM的全类型文档解析方案
突破格式壁垒:AnythingLLM的全类型文档解析方案 【免费下载链接】anything-llm 这是一个全栈应用程序,可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM&#…...
[RK3588-Android12] BQ25703充电IC状态检测与电池图标动态显示的实现
1. 理解BQ25703充电IC与Android电源管理的关系 在RK3588平台上开发Android12系统时,电源管理是个绕不开的话题。BQ25703作为一款高性能充电IC,负责处理设备充电过程中的各种状态转换。我最近在项目中就遇到了一个典型问题:当DC电源插入时&…...
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为昂贵的音频编辑软件发愁吗?或者对复杂的音频处理工…...
duilib应用部署实战:基于NSIS的轻量化安装包制作
1. 为什么选择NSIS打包duilib应用 当你用duilib完成了一个漂亮的Windows桌面应用,接下来最头疼的问题就是:怎么让用户能像安装QQ那样一键安装你的程序?这就是我们今天要解决的"最后一公里"问题。 我经历过用zip压缩包发给客户&am…...
【PolarCTF2026年春季挑战赛】GET
直接上传一个php试试文件名后缀双写可以绕过可以解析,我们上传一句话木马提示出现了$_POST[cmd]那么用下面的webshell,避免POST和cmd一起出现<?php $x $_POST; eval($x[cmd]); ?>上传成功,访问一下得到flag{73121d2832f501293a2e661…...
颗粒结构:基础但容易被忽视
在COMSOL中二氧化碳电化学还原过程中不同催化剂结构对离子传输的影响的模拟分析搞电化学的小伙伴们都知道,催化剂长得像撒了把芝麻似的颗粒结构最省事。但在COMSOL里建模时千万别直接右键画球体——试试这个骚操作:model.geom("geom1").featur…...
大文件传输不再难:探索高效文件分享工具的实战指南
大文件传输不再难:探索高效文件分享工具的实战指南 【免费下载链接】aliyunpan 阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能。 项目地址: https://gitcode.com/GitHub_Trending/ali/aliyunpan 你是否经历过这样的尴尬时…...
