ubuntu-docker入门到放弃(四)容器的导入导出
上一次我们讲了如何搭建自己私有的镜像管理仓库,实际上我们使用的依然是别人或者公共的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入门到放弃(四)容器的导入导出的更多相关文章
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker 入门 第二部分: 容器
目录 Docker 入门 第二部分: 容器 先决条件 介绍 你的新开发环境 使用 Dockerfile 定义一个容器 Dockerfile 应用本身 requirements.txt app.py 构 ...
- docker入门到放弃
1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...
- hive从入门到放弃(四)——分区与分桶
今天讲讲分区表和分桶表,前面的文章还没看的可以点击链接: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 hive从入门到放弃(三)--DML数据操作 分区 ...
- robotium从入门到放弃 四 Robotium常用API
获取控件 getText() getEditText() getButton() getImage() getImageButton() getEditText() getView() getWe ...
- MyBatis从入门到放弃四:一对多关联查询
前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发 ...
- Ubuntu菜鸟入门(十四)—— 设置root密码
sudo su - 输入你的账户的密码 passwd 输入新的root密码 再次输入新的root密码
- Go语言从入门到放弃(四)
前言 有段时间没摸Go语言了,最近B站的Go语言泄露挺火的. 还差的很远呐 学无止境 本章主要介绍一些零碎的小知识点 变更记录 # 19.4.30 起笔 # 19.4.30 增加代码打包步骤 正文 ...
- docker容器的导入导出
导出容器docker export 导出容器快照到本地文件$ sudo docker ps -aCONTAINER ID IMAGE COMMAND ...
随机推荐
- [转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
https://www.cnblogs.com/silent-stranger/p/7987708.html 1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练 ...
- supervisor-program配置
[program:check_server_state]directory=/sunlight/shellcommand=/usr/bin/sh check_server_state.shautost ...
- 获取列表中的最大的N项和最小的N项
获取列表中的最大的N项和最小的N项 #!/sur/bin/env python # -*- coding:utf-8 -*- # author:zengsf #time:2018/10/31 impo ...
- about Version Control(版本控制)
what: 版本控制系统是一种软件,它可以帮助您跟踪代码随时间的变化. 在编辑代码时,您告诉版本控制系统对文件进行快照. 版本控制系统将永久保存该快照,以便在以后需要时可以收回它. 如果没有版本控制, ...
- apache 和 php 整合、apache配制虚拟机
如何 把apache 和 php 整合起来 ? (关闭防火墙或在防火墙内添加80端口,关闭selinux) 修改:apache的配制文件:/usr/local/apache2.4/conf/h ...
- PostgreSQL的配置文件
PostgreSQL的配置文件主要有如下3个(postgresql.conf,pg_hba.conf,pg_ident.conf)可以通过如下方式查找:postgres=# select name, ...
- 《DSP using MATLAB》Problem 5.32
代码: function [y] = ovrlpadd_v3(x, h, N) %% Overlap-Add method of block convolution %% -------------- ...
- Python3实现生成验证码图片
import randomfrom PIL import Image, ImageFont, ImageDrawfrom io import BytesIOfrom ttt import settin ...
- java 编译 运行 及 引用外部 jar 包的方法
1. 环境变量配置 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_121; PATH%PATH%;C:\Java\jdk1.6.0_30\bin; CLASSPATH ...
- 【添加最新版本的mysql的jdbc连接jar包】java.math.BigInteger cannot be cast to java.lang.Long异常
[问题描述] 从我的电脑把项目拷贝到guo小中的win8电脑,but出现了那个错误,估计他的mysql是最新版本的. [如何下载连接jar包] 链接:https://pan.baidu.com/s/1 ...