Docker封装深度学习模型

1.安装Docker Desktop

从官网下载DockerDesktop,安装。(默认安装位置在C盘,可进行修改)

clike 复制代码
"D:\Program Files (x86)\Docker\Docker Desktop Installer.exe" install --installation-dir="D:\Program Files (x86)\Docker_desktop"

镜像位置默认在C盘,如下:

可在桌面版。设置下的Resources中,调整Disk image的保存位置。

2. 建立Dockerfile,构建镜像。

Dockerfile 中的指令(如 RUN、COPY、CMD 等)是在构建镜像时由 Docker 守护进程(Docker daemon)执行的,而不是在本地命令行直接执行。

构建完 Dockerfile 后,接下来需要使用 Docker 命令来构建镜像。

打开命令提示符(CMD)或 PowerShell。

使用 cd 命令导航到包含 Dockerfile 的目录。例如,如果 Dockerfile 位于 E:\DockerImage,则运行:

clike 复制代码
cd /d E:\DockerImage

(后面的-t是指定镜像文件的名称)

clike 复制代码
docker build -f .\Dockerfile.dockerfile . -t hello

3 本地环境镜像部署

参考链接:https://blog.csdn.net/qq_32101863/article/details/120344080

D:\Anocada\envs\new\envs\pythonProject_22.7.25

  • 1.拉取镜像
    continuumio/anaconda3 镜像是docker镜像库中star数最高的镜像
clike 复制代码
docker pull continuumio/anaconda3

用 docker images 指令 查看是否拉取成功。

  • 2.用continuumio/anaconda3镜像创建一个名为test的容器
clike 复制代码
docker run --name test -idt continuumio/anaconda3

-idt中的 -d 指定容器的运行模式,可以使docker 的服务是在后台运行。但加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

执行完该指令后再查看一下容器列表(docker ps -a),发现有名为test的新容器被创建,容器一被创建就自动运行。

  • 3.进入test容器,查看conda位置
clike 复制代码
docker exec -it test /bin/bash
  • 4.在本地环境中将本地环境复制到docker中
    ●退出容器后,在本地环境中将需要打包的本地复制到docker中:
clike 复制代码
docker cp /home/b/miniconda3/envs/yolo1.7 test:/opt/conda/envs
  • 5.在本地环境中将需要打包的本地复制到docker中:
clike 复制代码
docker cp /home/b/miniconda3/envs/yolo1.7 test:/opt/conda/envs

其中 : /home/b/miniconda3/envs/yolo1.7 是自己需要打包的本地环境, test是容器名,/opt/conda是在容器内使用 conda info --envs 查看到的根目录。

  • 6.将容器保存为镜像
    退出容器后,在本地环境中将需要打包的代码复制到docker中:
clike 复制代码
 docker cp /home/b/.../tools test:/root/

将本地文件 /home/b/.../tools 复制到test容器的根目录下。

退出容器后,执行:

clike 复制代码
 docker commit -a 'author' -m 'instruction' test image_test

该命令各字段: test :容器名字 image_test:保存的镜像的名字。

  • 7.将镜像存为压缩包
    ●cd到一个指定目录,以便于查找保存的压缩包。
    ●压缩:
clike 复制代码
 docker save -o test_tar.tar image_test

test_tar.tar: 压缩包名称 , image_test: 镜像名称。

相关推荐
‎ദ്ദിᵔ.˛.ᵔ₎2 分钟前
Linux:对有关 SIGCHLD 的深层理解
linux·运维·服务器
aichitang202424 分钟前
QCU 2.0.0:补齐 Windows、Linux 与 GNOME Wayland
linux·运维·windows·ai·agent·ai编程
Lv_沐曦27 分钟前
Linux 上的Web文件管理器-filebrowser
linux·运维·服务器
科技每日热闻38 分钟前
电气设备综合维保服务商怎么选?从预防性维护到数字化运维,看懂五个关键能力——企业选择维保合作伙伴,不能只看“坏了能不能修”,更要看能否覆盖资产与系统的长期运营
大数据·运维·人工智能
最强小杰1 小时前
Claude Opus 4.8 调用报 529 怎么办?并发限制触发过载——退避策略与降级方案完整指南
运维·网络·python·ai
我科绝伦(Huanhuan Zhou)1 小时前
磐维数据库(PanWeiDB)日常运维命令总结
运维·数据库
AscendKing2 小时前
Docker Compose 一键部署 SkyWalking 10.2.0 + Elasticsearch8.11,分布式链路追踪完整实战
elasticsearch·docker·skywalking·链路追踪·微服务监控
深盾科技_Virbox2 小时前
软许可、加密锁和云许可混合使用时,授权接口应该怎么统一?
运维·网络·安全
逐流人2 小时前
Redis内存数据库:从数据类型到集群部署
linux·运维·数据库·redis·缓存·云计算
励志师code2 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet