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 分钟前
写给前端仔仔的docker实战
前端·docker·面试
czhc114007566331 分钟前
LINUX 820 shell:shift,expect
linux·运维·excel
咕噜签名分发冰淇淋1 小时前
签名应用APP分发平台的微服务化部署是什么?其有哪些优势?
java·运维·微服务
望获linux1 小时前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
进击的阿尔法猿2 小时前
docker
运维·docker·容器
北京阿法龙科技有限公司2 小时前
AR 虚实叠加技术在工业设备运维中的实现流程方案
运维·ar
刘一说2 小时前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
iceland93 小时前
kubeadm方式部署k8s集群
云原生·容器·kubernetes
木易双人青9 小时前
01-Docker-简介、安装与使用
运维·docker·容器
专注API从业者10 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化