使用docker commit 来扩展一个image

先使用image启动容器,更新后提交结果到新的image。

$ sudo docker run -t -i training/sinatra /bin/bash

[email protected]:/#

注意:记住容器的ID ,稍后我们还会用到

这里我们在容器中添加json gem

[email protected]:/# gem install json

当结束后,我们使用exit来退出,现在我们的容器已经被我们改变了,使用docker commint命令

来提交相应的副本。

$ sudo docker commit -m="Added json gem" -a="Kate Smith" 0b2616b0e5a8 ouruser/sinatra:v2

4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

-m 来指定提交的信息,跟我们使用的版本控制工具一样。

-a 可以指定我们更新的用户信息指定我们要从哪个容器ID来创建我们的副本,最后指定目标image

的名字。

这个例子里面,我们指定了一个新用户,ouruser,使用了sinatra的image,最后指定了image的

标记v2。

使用docker images来查看我们创建的新image。

$ sudo docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

training/sinatra latest 5bc342fa0b91 10 hours ago 446.7 MB

ouruser/sinatra v2 3c59e02ddd1a 10 hours ago 446.7 MB

ouruser/sinatra latest 5db5f8471261 10 hours ago 446.7 MB

使用新的image来启动容器

$ sudo docker run -t -i ouruser/sinatra:v2 /bin/bash

[email protected]:/#

时间: 2024-10-09 21:12:48

使用docker commit 来扩展一个image的相关文章

「一」创建一个带 ssh 服务的基础镜像(修订版)--使用「docker commit」创建

在介绍如何创建带 ssh 服务的基础镜像之前,我们想回顾一下之前介绍过的内容,其中提到有三种创建镜像的常用办法: 从文件系统导入 从现有容器使用「docker commit」提交 使用 dockerfile 文件 build 本章将主要介绍后面 2 种方法. 步骤如下: $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. [email protected]:/# sshd bash: sshd: co

docker深入1-尝试运行一个简单的web环境

目的:在基础镜像(pcnk/base:v2)上增加一个web环境:sync 做法:启动新的container,然后逐步增加web服务,再提交到image,这里用到了端口映射,数据卷挂载. 一.在[pcnk/base:v2]这个基础image上运行一个container[web]来安装sync所需的httpd等服务 1)container[web] [[email protected] base]$ docker run -d -v /home/download:/home/download -v

docker commit 与 docker build

在使用Docker的过程中,我们除了从Docker Hub上下载已经做好的镜像,很多时候需要我们自己制作镜像.下面想在这个文章中说明一下镜像的制作方法. 制作镜像的方式主要有两种: 通过docker commit 制作镜像 通过docker build 制作镜像 这两种方式都是通过改进已有的镜像来达到自己的目的.制作基础镜像,会在另外一篇文章"从零开始制作基础镜像"中介绍. docker commit docker commit 是往版本控制系统里提交一次变更.使用这种方式制作镜像,本

docker commit

命令:docker commit [[email protected] ~]# docker commit --help Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] Create a new image from a container's changes Options: -a, --author string Author (e.g., "John Hannibal Smith <[email protecte

docker commit构建镜像(不推荐)

dcoker commit镜像构建 获取docker镜像 # 下载镜像(默认从docker hub获取) docker pull ubuntu:14.04 搜索镜像 docker search IMAGE_NAME 返回如下信息: NAME : 仓库名(用户名/仓库名) DESCRIPTION : 镜像信息描述 STARS : 反应镜像的受欢迎程度 OFFICIAL : 是否为官方镜像 AUTOMATED : 镜像是否为docker hub自动构建 到docker hub注册账号并使用login

docker commit命令

docker commit命令用于基于一个容器来创建一个新的docker镜像. docker commit制作的镜像,除了制定镜像的人知道执行过什么命令,怎么生成的镜像,别人根本无从得知.建议使用的是Dockerfile来制作镜像,镜像的生成过程是透明的, docker commit可用于被入侵后保存现场等操作. 用法为: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 参数 默认值 作用 —author, -a     作者信息 —ch

docker commit为什么不适合生成镜像?

要知道,当我们运行一个容器的时候(如果不使用卷的话),我们做的任何文件修改都会被记录与容器存储层里.而Docker提供了一个docker commit 的命令,可以将容器的存储层保存下来成为镜像.换句话说,就是在原有镜像的基础上,在叠加上容器的存储层,并构成信的镜像,以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化. docker commit的语法格式为: docker commit[选项] [[:]] 但是,慎用docker commit 使用docker commit命令虽然可

Docker commit 命令

docker commit :从容器创建一个新的镜像. 语法 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明文字: -p :在commit时,将容器暂停. 实例 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息. [email protected]:~$ docker commit -a "ru

扩展一个字符自动长度自动检测的函数

/** * 扩展一个字符自动长度自动检测的函数 * @param {[type]} max [description] * @param {Function} callback [description] * @return {[type]} [description] */ jQuery.fn.maxLength = function(max, callback) { this.each(function(){ var type = this.tagName.toLowerCase(); va