五、Docker容器封装为镜像并上传到仓库(Ubuntu 16.04)

应用场景
  • docker镜像一旦构建,就已经一次性完成了应用自动打包、集成。
  • 通过统一的docker环境封装,保证应用服务运行环境的一致性。
  • docker可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。
  • 镜像可下载、可复用,docker容器可快速启动等特性,结合容器编排服务可以实现大型分布式部署的弹性伸缩,快速扩展。
1. 注册账号

Doocker仓库免费注册一个 Docker 账号。

2. 将容器封装为镜像
## 查看已有的镜像
junli@ubuntu16:~$ docker ps -a
CONTAINER ID   IMAGE                                      COMMAND       CREATED             STATUS                           PORTS     NAMES
a5d58a220222   nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04   "/bin/bash"   About an hour ago   Exited (137) 8 minutes ago                 anaconda
junli@ubuntu16:~$ 

## 将NAMES=anaconda的容器打包为镜像,镜像的名字为ubuntu16.04-cuda8-cudnn6-annconda2,版本号为v1.0
junli@ubuntu16:~$ docker container commit anaconda ubuntu16.04-cuda8-cudnn6-annconda2:v1.0
sha256:959c95a916786b636f595aae20f436c25fad7e1967de7b4a3d570d247bcae202
junli@ubuntu16:~$
junli@ubuntu16:~$ docker images
REPOSITORY                           TAG                            IMAGE ID       CREATED         SIZE
ubuntu16.04-cuda8-cudnn6-annconda2   v1.0                           959c95a91678   3 minutes ago   4.01GB
nvidia/cuda                          8.0-cudnn6-devel-ubuntu16.04   d57da4f50cd1   10 months ago   2.01GB
3. 将打包后的镜像上传到仓库
## 首先,登录到自己的docker仓库
junli@ubuntu16:~$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: ***
Password: 
WARNING! Your password will be stored unencrypted in /home/junli/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

## 上传
junli@ubuntu16:~$ docker tag ubuntu16.04-cuda8-cudnn6-annconda2:v1.0 jlgao/ubuntu16.04-cuda8-cudnn6-annconda2:v1.0
junli@ubuntu16:~$ docker images
REPOSITORY                                 TAG                            IMAGE ID       CREATED          SIZE
jlgao/ubuntu16.04-cuda8-cudnn6-annconda2   v1.0                           959c95a91678   17 minutes ago   4.01GB
ubuntu16.04-cuda8-cudnn6-annconda2         v1.0                           959c95a91678   17 minutes ago   4.01GB
nvidia/cuda                                8.0-cudnn6-devel-ubuntu16.04   d57da4f50cd1   10 months ago    2.01GB
junli@ubuntu16:~$ 
junli@ubuntu16:~$ docker push jlgao/ubuntu16.04-cuda8-cudnn6-annconda2:v1.0
4. 查看

在这里插入图片描述

总结常用的操作命令:
docker container commit CONTAINER_NAME IMAGE_NAME:TAG    -- 将容器打包
docker tag IMAGE_NAME:TAG USERNAME/IMAGE_NAME:TAG        -- 标记镜像的版本号
docker push USERNAME/IMAGE_NAME:TAG                      -- 将镜像上传到Doocker仓库中

# CONTAINER_NAME    -- 要打包为镜像的容器名字
# IMAGE_NAME:TAG    -- 打包为镜像后,给镜像取得名字:版本号
# USERNAME          -- 在Doocker仓库中创建的用户名

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值