找回密码
 会员注册
查看: 42|回复: 0

docker&python亲测有效!适合新手!docker创建conda镜像+容器使用(挂载、端口映射、gpu使用)+云镜像仓库教程

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
64454
发表于 2024-9-3 13:32:48 | 显示全部楼层 |阅读模式
文章目录docker基本概念简介配置镜像加速源创建conda镜像1.写Dockerfile文件2.创建镜像3.创建容器并测试容器的使用1.wsl挂载2.端口映射3.补充-gpu云镜像仓库使用1.登录2.将本地镜像上传至云镜像仓库3.从云镜像仓库下载镜像到本地docker基本概念简介简单来讲,docker可以理解为一个虚拟机,里面用来存放运行程序所需要的环境(各种包)docker里面有三个基本概念:镜像、容器和仓库:镜像和容器的关系,其实类似于类和对象的关系(镜像就是模板,容器则是从镜像实例化出的一个实例);而云仓库存的是镜像!💡环境配置流程大概如下:先把自己本地环境打包成dockerfile,然后上传到仓库;然后再从仓库下载镜像文件到Linux服务器;将下载下来的镜像文件实例化成容器;最后,运行容器即可!配置镜像加速源如果不配置镜像加速源的话,下载一些基础镜像的时候会失败!所以这步必须配置!(之前也是尝试了很多的命令行方法都没有成功,猜测因为wsl依赖于dockerdesktop的配置)"registry-mirrors":["https://inhj05a1.mirror.aliyuncs.com"]123创建conda镜像1.写Dockerfile文件FROMcontinuumio/miniconda3ASbaseWORKDIR/yhyENVPATH/opt/conda/envs/yhy/binPATHRUNcondacreate--nameyhypython=3.9\&/bin/bash-c"sourceactivateyhy"\&echo"condaactivateyhy">>~/.bashrc\&pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple\uvicornfastapitorchlogurupydanticlangchainvllm123456789102.创建镜像dockerbuild-tyhy_conda-fDockerfile.1镜像创建过程:激活虚拟环境ing…下载各种包ing…3.创建容器并测试如下,执行创建容器并进入容器命令,从yhy_conda镜像中创建了一个名为yhy_conda_test的容器:dockerrun-it--nameyhy_conda_testyhy_conda:latest/bin/bash1执行piplist,可以发现包都已安装成功。容器的使用1.wsl挂载以上过程中已经成功创建了conda镜像以及其实例化出的容器,我们可以在容器这个虚拟环境中运行python程序了,但是容器中东西是空的,并没有代码,直接的想法是和宿主机共享代码文件等资源,这里就需要用到挂载了。挂载即:将宿主机的目录挂载到docker容器指定目录里,这样每次宿主机的目录修改了,这种修改会同步到对应的docker容器指定目录,从而实现文件的共享!挂载命令:如下,将宿主机上的/mnt/e/job_document/AICode挂载到docker的/yhy/AICode上dockerrun-it--privileged=true-v/mnt/e/job_document/AICode:/yhy/AICodeyhy_conda1如下,可以发现已经挂载成功。2.端口映射有时我们希望宿主机访问docker容器里的服务,但是docker容器的ip地址是随机分配的、变化的,外界并不能访问到,因此如果想要宿主机和docker容器通信,就要用到端口映射。端口映射即:宿主机和docker共享ip地址,将docker的xx端口映射到宿主机的xx端口,这样在宿主机中通过宿主机ip地址(或127.0.0.1)就能访问到docker容器里的服务!端口映射命令:将docker的12311端口映射到宿主机的80端口dockerrun--gpusall-it--nameyhy_container-p80:12311--privileged=true-v/mnt/e/job_document/AICode:/yhy/AICodeyhy_conda12docker中为12311端口宿主机用80端口访问成功!3.补充-gpu如果想要在docker中使用宿主主机的GPU,则需要加上–gpusall参数。(如果失败,可能是没有安装nvidia-docker,官网或网上都有教程)运行容器时,加上–gpusall!dockerrun--gpusall-it--privileged=true-v/mnt/e/job_document/AICode:/yhy/AICodeyhy_conda12云镜像仓库使用1.登录dockerlogin1然后输入自己的用户名和密码!2.将本地镜像上传至云镜像仓库dockertagyhy_condacis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_condadockerpushcis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_conda123.从云镜像仓库下载镜像到本地dockerpullcis-hub-dongguan-1.cmecloud.cn/mcloud-ai/yhy_conda1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 13:01 , Processed in 0.410865 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表