如何打包生成镜像发送到仓库中

docker与nvidia-docker

nvidia-docker是一个可以使用GPU的docker,nvidia-docker是在docker上做了一层封装,通过nvidia-docker-plugin,然后调用到docker上,其最终实现的还是在docker的启动命令上携带一些必要的参数。因此在安装nvidia-docker之前,还是需要安装docker的。

打包机器学习的镜像可能需要用到nvidia-docker

使用docker hub

准备项目

  • docker_demo项目顶级目录
  • Dockerfile 创建镜像的文件
  • README文件 介绍整个项目的背景和使用方法
  • requirements文件 项目所需的依赖环境
  • src文件 运行项目源文件或二进制文件
  • 挂载文件 容器数据是否同步到宿主机去

编写Dockerfile文件

生成Docker镜像

在dockerfile所在目录下运行

docker build -t demo:v1  .

运行Docker容器

docker run demo:v1 -v  /docker_demo/logs:/logs demo:v1

导出Docker镜像

方式一:
//直接提交到docker hub中 
docker commit
方式二:
//将镜像存储到本地
docker save -o docker_image.tar docker_sample:latest
方式三:
//通过容器导出镜像
docker export

发布Docker镜像

//登录docker 账号
docker login
//在docker hub中创建仓库镜像  新建标签 将本地镜像文件与docker仓库联系起来
//YOUR_DOCKER_ID识别自有仓库
docker tag docker_sample YOUR_DOCKER_ID/docker_sample
//推动到Docker hub中
docker push YOUR_DOCKER_ID/docker_sample
//直接提交
docker commit

获取镜像

(1)方式一 :从docker hub中拉取

docker pull 

(2)方式二:获取了镜像的.tar包

//your_image_name:tag 是你要导出的镜像的名称和标签,image.tar 是导出的文件名
docker save -o image.tar your_image_name:tag
docker save -o docker-tc.tar lukaszlach/docker-tc
//传输到服务器
scp image.tar user@server:/path/to/destination/
 scp docker-tc.tar niehulin@202.199.13.21:/home/niehulin/workspace/myimages/
//服务器解压
docker load -i /path/to/destination/image.tar
docker load -i /home/niehulin/workspace/myimages/docker-tc.tar 

docker load -i docker_image.tar
//若是docker export导出的
docker import

运行镜像

docker run

Docker其他使用命令

//删除容器
docker rm
//停止容器
docker stop
//删除镜像
docker rmi 

使用阿里云仓库

阿里云仓库地址
https://cr.console.aliyun.com/
与docker hub一样的流程

创建私有仓库

方式一:

安装运行 docker-registry

方式二:

使用官方registry镜像来运行。

docker run -d -p 5000:5000 --restart=always --name registry registry
或者:
 docker run -d \
-p 5000:5000 \
-v /opt/data/registry:/var/lib/registry \
registry

将使用官方的registry镜像来启动私有仓库。默认情况下,仓库会被创建在容器的/var/lib/registry目录下。你可以通过-v参数来将镜像文件存放在本地的指定路径。例如上面的例子将上传的镜像放到本地的/opt/data/registry目录

国内各大云服务商均提供了 Docker 镜像加速服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值