Docker技术入门与实战(第2版)3.5 创建镜像

3.5 创建镜像


创建镜像的方法主要有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerf?ile创建。

本节将重点介绍前两种方法。最后一种基于Dockerfile创建的方法将在后续章节专门予以详细介绍。

1.?基于已有镜像的容器创建

该方法主要是使用docker commit命令。命令格式为docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]],主要选项包括:

-a, --author="":作者信息;

-c, --change=[]:提交的时候执行Dockerf?ile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等;

-m, --message="":提交消息;

-p, --pause=true:提交时暂停容器运行。

下面将演示如何使用该命令创建一个新镜像。首先,启动一个镜像,并在其中进行修改操作,例如创建一个test文件,之后退出:

$ docker run -it ubuntu:14.04 /bin/bash

root@a925cb40b3f0:/# touch test

root@a925cb40b3f0:/# exit

记住容器的ID为a925cb40b3f0。

此时该容器跟原ubuntu:14.04镜像相比,已经发生了改变,可以使用docker commit命令来提交为一个新的镜像。提交时可以使用ID或名称来指定容器:

$ docker commit -m "Added a new file" -a "Docker Newbee" a925cb40b3f0 test:0.1

9e9c814023bcffc3e67e892a235afe61b02f66a947d2747f724bd317dda02f27

顺利的话,会返回新创建的镜像的ID信息,例如9e9c814023bcffc3e67e892a235afe61b02f66a947d2747f724bd317dda02f27。

此时查看本地镜像列表,会发现新创建的镜像已经存在了:

$ docker images

REPOSITORY        TAG     IMAGE ID        CREATED           VIRTUAL SIZE

test              0.1     9e9c814023bc    4 seconds ago     188 MB

2.?基于本地模板导入

用户也可以直接从一个操作系统模板文件导入一个镜像,主要使用docker import命令。命令格式为docker import [OPTIONS] file|URL|-[REPOSITORY[:TAG]]。

要直接导入一个镜像,可以使用OpenVZ提供的模板来创建,或者用其他已导出的镜像模板来创建。OPENVZ模板的下载地址为http://openvz.org/Download/templates/precreated。

例如,下载了ubuntu-14.04的模板压缩包,之后使用以下命令导入:

$ cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

然后查看新导入的镜像,会发现它已经在本地存在了:

$ docker images

REPOSITORY        TAG         IMAGE ID         CREATED             VIRTUAL SIZE

ubuntu            14.04       05ac7c0b9383     17 seconds ago      215.5 MB

时间: 2024-09-20 01:43:01

Docker技术入门与实战(第2版)3.5 创建镜像的相关文章

《Docker技术入门与实战》——3.7 上传镜像

3.7 上传镜像 可以使用docker push命令上传镜像到仓库,默认上传到DockerHub官方仓库(需要登录),命令格式为docker push NAME[:TAG].用户在DockerHub网站注册后,即可上传自制的镜像.例如用户user上传本地的test:latest镜像,可以先添加新的标签user/test:latest,然后用docker push命令上传镜像: $ sudo docker tag test:latest user/test:latest $ sudo docker

Docker技术入门与实战(第2版).

容器技术系列 Docker技术入门与实战 第2版 杨保华 戴王剑 曹亚仑 编著 图书在版编目(CIP)数据 Docker技术入门与实战 / 杨保华,戴王剑,曹亚仑编著. -2版. -北京:机械工业出版社,2017.1 (容器技术系列) ISBN 978-7-111-55582-7 I. D- II. ①杨- ②戴- ③曹- III. Linux操作系统-程序设计 IV. TP316.85 中国版本图书馆CIP数据核字(2016)第308604号 本书从Docker基本原理开始,深入浅出地讲解Do

赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】

最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 (作者) http://www.amazon.cn/Docker技术入门与实战-杨保华-戴王剑-曹亚仑/dp/B00SMJ0VFA/ref=sr_1_2?s=digital-text&ie=UTF8&qid=1435217727&sr=1-2&keywords=docker

Docker技术入门与实战(第2版)导读

前言 在一台服务器上同时运行一百个虚拟机,肯定会被认为是痴人说梦.而在一台服务器上同时运行一千个Docker容器,这已经成为现实.在计算机技术高速发展的今天,昔日的天方夜谭正在一个个变成现实. 多年的研发和运维(DevOps)经历中,笔者时常会碰到这样一个困境:用户的需求越来越多样,系统的规模越来越庞大,运行的软件越来越复杂,环境配置问题所造成的麻烦层出不穷--为了解决这些问题,开源社区推出过不少优秀的工具.这些方案虽然在某些程度上确能解决部分"燃眉之急",但是始终没有一种方案能带来&

Docker技术入门与实战(第2版)2.1 核心概念

核心概念与安装配置 本章首先介绍Docker的三大核心概念. 镜像(Image) 容器(Container) 仓库(Repository) 只有理解了这三个核心概念,才能顺利地理解Docker容器的整个生命周期. 随后,笔者将介绍如何在常见的操作系统平台上安装Docker,包括Ubuntu.CentOS.MacOS和Windows等主流操作系统平台. 2.1 核心概念 Docker的大部分操作都围绕着它的三大核心概念--镜像.容器和仓库而展开.因此,准确把握这三大核心概念对于掌握Docker技术

Docker技术入门与实战(第2版)1.1 什么是Docker

初识容器与Docker 如果说主机时代大家比拼的是单个服务器物理性能(如CPU主频和内存),那么在云时代,最为看重的则是凭借虚拟化技术所构建的集群处理能力. 伴随着信息技术的飞速发展,虚拟化技术早已经广泛应用到各种关键场景中.从20世纪60年代IBM推出的大型主机虚拟化,到后来以Xen.KVM为代表的虚拟机虚拟化,再到现在以Docker为代表的容器技术,虚拟化技术自身也在不断进行创新和突破. 传统来看,虚拟化既可以通过硬件模拟来实现,也可以通过操作系统软件来实现.而容器技术则更为优雅,它充分利用

Docker技术入门与实战(第2版)3.1 获取镜像

使用Docker镜像 镜像(image)是Docker三大核心概念中最为重要的,自Docker诞生之日起"镜像"就是相关社区最为热门的关键词. Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库. 本章将介绍围绕镜像这一核心概念的具体操作,包括如何使用pull命令从Docker Hub仓库中下载镜像到本地,如何查看本地已有的镜像信息和管

Docker技术入门与实战(第2版)3.6 存出和载入镜像

3.6 存出和载入镜像 用户可以使用docker save和docker load命令来存出和载入镜像. 1.?存出镜像 如果要导出镜像到本地文件,可以使用docker save命令.例如,导出本地的ubuntu: 14.04镜像为文件ubuntu_14.04.tar,如下所示: $ docker images REPOSITORY          TAG         IMAGE ID        CREATED         VIRTUAL SIZE ubuntu          

《Docker技术入门与实战》——第一部分 Docker入门

第一部分 Docker入门 ■第1章初识Docker ■第2章Docker的核心概念和安装 ■第3章镜像 ■第4章容器 ■第5章仓库 ■第6章数据管理 ■第7章网络基础配置 ■第8章使用Dockerfile创建镜像 欢迎来到Docker的世界! 在这一部分里,笔者将介绍Docker的基础知识,本部分分为8章. 第1章介绍Docker开源项目以及它与现有的虚拟化技术,特别是Linux容器技术的关系:第2章介绍Docker的三大核心概念,以及如何在常见的操作系统环境中安装Docker:第3章第5章通