上一次我们讲了如何搭建自己私有的镜像管理仓库,实际上我们使用的依然是别人或者公共的image,今天就来说说如何将自己定制化的images上传到自己的私有仓库中,以供符合自己业务场景的项目来使用,如:我使用docker基于ubuntu 14.04系统搭建了一套ruby的环境,以后直接使用。

先来看看我们在运行的容器:

#docker ps

接下来我们在nginx服务器上安装一个ruby环境:

进入容器内:

#docker exec -it e96a98d5902c /bin/bash
#apt-get update
#dpkg -l  | grep ruby #查看是否安装了ruby
#apt-get install ruby

已经安装完了,查看一下:

#ruby -v
ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]

接下来我们把这个容器导出来,制作成镜像,上传到我们的私有仓库中,以后需要ruby环境就不需要安装了,直接拉镜像下来跑起来就可以了:

导出容器:

#docker export e96a98d5902c >ubuntu14_ruby2.tar.gz

导入到本地镜像:

#docker import ubuntu14_ruby2.tar.gz
sha256:fd2e33845352e808b3b3bd90c47afa067b5542663c518fa2cef5e1f3cc912e3

查看本地镜像:

#docker images

这个没有tag的就是我们刚刚导入的,现在我们给他打一个tag:

#docker tag fd2e33845352 ubuntu14_ruby2:2.2
#docker images

好了,接下来我们把这个本地镜像上传到私有仓库中:

#docker tag ubuntu14_ruby2:2.2 10.30.234.212:5000/ubuntu14_ruby
#docker push 10.30.234.212:5000/ubuntu14_ruby

接下来看看仓库中的镜像:

#curl http://10.30.234.212:5000/v2/ubuntu14_ruby/tags/list
{"name":"ubuntu14_ruby","tags":["latest"]}

已经有了,接下来我们把本地ruby环境的容器及image删除:

先停止容器:

#docker stop e96a98d5902c

在删除容器:

#docker rm e96a98d5902c

查看:

#docker ps

接下来删除image:

#docker rmi 10.30.234.212:5000/ubuntu14_ruby
#docker rmi ubuntu14_ruby2:2.2

从仓库下载镜像来启动ruby环境:

#docker pull 10.30.234.212:5000/ubuntu14_ruby
#docker images

用这个image启动一个容器:

#docker run -dit --name test_ruby 10.30.234.212:5000/ubuntu14_ruby /bin/bash
#docker ps

容器已经起来了,让我们看看ruby环境还在不在:

#docker exec -it 12f5cefa90d9 /bin/bash
#ruby -v
ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]

环境依然在,成功~

ubuntu-docker入门到放弃(四)容器的导入导出的更多相关文章

  1. Docker入门教程(四)Docker Registry

    Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...

  2. Docker 入门 第二部分: 容器

    目录 Docker 入门 第二部分: 容器 先决条件 介绍 你的新开发环境 使用 Dockerfile 定义一个容器 Dockerfile 应用本身 requirements.txt app.py 构 ...

  3. docker入门到放弃

    1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...

  4. hive从入门到放弃(四)——分区与分桶

    今天讲讲分区表和分桶表,前面的文章还没看的可以点击链接: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 hive从入门到放弃(三)--DML数据操作 分区 ...

  5. robotium从入门到放弃 四 Robotium常用API

      获取控件 getText() getEditText() getButton() getImage() getImageButton() getEditText() getView() getWe ...

  6. MyBatis从入门到放弃四:一对多关联查询

    前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发 ...

  7. Ubuntu菜鸟入门(十四)—— 设置root密码

    sudo su - 输入你的账户的密码 passwd 输入新的root密码 再次输入新的root密码

  8. Go语言从入门到放弃(四)

    前言 有段时间没摸Go语言了,最近B站的Go语言泄露挺火的. 还差的很远呐 学无止境 本章主要介绍一些零碎的小知识点 变更记录 # 19.4.30  起笔 # 19.4.30  增加代码打包步骤 正文 ...

  9. docker容器的导入导出

    导出容器docker export 导出容器快照到本地文件$ sudo docker ps -aCONTAINER ID        IMAGE               COMMAND      ...

随机推荐

  1. java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

  2. js获取当天零点的时间戳

    var now_date = new Date();//获取Date对象now_date.setHours(0);//设置小时now_date.setMinutes(0);//设置分钟now_date ...

  3. sticky footer 和 flex布局的原理

    Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送. 一.使用f ...

  4. Unity 3D中ToLua-UGUI使用说明、导入Unity流程、制作登陆界面

    ToLua制作登录界面 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 请支持大神开发者:骏擎CP,蒙哥等奔 ...

  5. hdoj-1022(栈的模拟)

    #include <iostream> #include <cstring> #include <algorithm> #include <stack> ...

  6. 什么是 JVM

    什么是 JVM 先来看下百度百科的解释: JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算 ...

  7. 20165313 预备作业3 Linux安装及学习

    虚拟机安装 刚开始我觉得既然有了教程,安装虚拟机应该是很简单的事情,然而由于电脑本身系统地地问题,导致我数次安装失败,后来咨询了老师并查阅了资料,最终才安装好. 其中最主要的问题就是电脑虚拟化的修改. ...

  8. Echarts全解注释

    coordinate-geo.js文件为地理坐标系的配置参数 mytextStyle={ color:"#333",//文字颜色 fontStyle:"normal&qu ...

  9. hive query with field is json

    if field is json,when query one key from json ,it will help you . select idfa, appid ,appname , coun ...

  10. heptio scanner kubernetes 集群诊断工具部署说明

    heptio scanner 是一款k8s 集群状态的诊断工具,还是很方便的,但是有一点就是需要使用google 的镜像 参考地址 https://scanner.heptio.com/ 部署 kub ...