Docker基于已有的镜像制新的镜像

1.根据运行的容器制作镜像

#查看所有的容器docker ps
#暂停当前容器docker pause COTNAINER-ID
#将容器运行当前状态提交docker commit COTNAINER-ID
#根据COMMIT-ID打包容器Tag
docker tag COMMIT-ID

经过以上几个步骤,根据当前运行的容器制作镜像就完成了。

2.上传镜像到Docker Hub

如果未登录Docker Hub,需要登录Docker Hub

docker login#输入用户名和密码

推送镜像到Docker Hub

docker push IMAGE-NAME

运行结果如下图所示:

在Docker Hub上可以查看到我们刚刚上传的镜像文件,因为这个镜像是公开的,所以现在所有人都能够docker pull获取该镜像。

3.获取上传的镜像并运行

因为我使用的是同一台Ubuntu机器,我本地已经有了bage88/firstimage这个镜像,我先要删除该镜像,然后再获取。

3.1 删除镜像

#### 删除镜像docker rmi IMAGE_NAME

提示如下错误,有基于该镜像的容器在运行,所以我先要删除这个容器,再删除镜像。

Error response from daemon: conflict: unable to remove repository reference "bage88/firstimage"(must force) - container 25dca6040e7e is using its referenced image 31758d7d9e60

3.2 删除容器

docker rm 25dca6040e7e(这个是容器ID)

再执行一次删除镜像命令:

docker rmi bage88/firstimage###结果如下,说明删除镜像成功Untagged: bage88/firstimage:latestUntagged: bage88/[email protected]:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481Deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381adDeleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5

3.3 获取镜像

docker pull bage88/firstimage

3.4 运行镜像

docker run -d -p 8010:80 bage88/firstimage

查看结果:

时间: 2024-10-05 04:55:43

Docker基于已有的镜像制新的镜像的相关文章

docker commit命令创建新的镜像

1.运行容器 2.修改容器 3.将容器保存为新容器 (1)运行容器 [[email protected] docker]# docker run -ti centos -ti 参数是指以交换模式进入容器 (2)安装vim [[email protected] /]# yum install -y vim (3)保存为新镜像 复制打开新窗口查看当前运行的容器 [[email protected] ~]# docker ps 我们可以看到IMAGE为centos,suspicious_perlman

1.4-docker镜像使用容器生成新的镜像

Docker 基于已有镜像的容器创建镜像 * docker run centos /bin/bash首先使镜像开启容器. * docker start de8 启动指定的镜像容器.de8是镜像的ID,可以简写到3位. * 运行docker exec -it de8 /bin/bash后,进入到指定容器中,de8是ID,可以简写成3位.我们做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像. * exit退出容器后,运行docker commit -m "change somth&qu

docker下载ubuntu并进行修改后生成新的镜像提交

一  docker pull ubuntu ,先下载下来一个镜像, 或者 从本地启动一个镜像 docker run -i -t ubuntu /bin/bash 二 进入一定更新操作 # shell on container $ apt-get update $ apt-get -y install python-pip $ pip install django 上面的操作是更新源,然后安装pip和django 三 更新镜像 docker commit -m="description about

hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决问题 .

一, 安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件, 该文件就是Hi3531的软件开发包. 2.解压缩SDK包 在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz , 解压缩该文件,可以得到一个Hi3531_SDK_Vx.

【Docker】镜像分层存储与镜像精简

Linux操作系统 Linux操作系统由内核空间和用户空间组成. 内核空间是kernel,用户空间是rootfs, 不同Linux发行版的区别主要是rootfs.比如 Ubuntu 14.04 使用 upstart 管理服务,apt 管理软件包:而 CentOS 7 使用 systemd 和 yum.这些都是用户空间上的区别,Linux kernel 差别不大. 所以 Docker 可以同时支持多种 Linux 镜像,模拟出多种操作系统环境. 分层存储 因为镜像包含操作系统完整的 root 文件

Docker 集群环境实现的新方式

近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行之有效的管理大型容器集群的整体解决方

docker基础——关于安装、常用指令以及镜像制作初体验

为什么使用docker docker就是一个轻量级的虚拟机,他解决的是服务迁移部署的时候环境配置问题.比如常见的web服务依赖于jdk.Tomcat.数据库等工具,迁移项目就需要在新的机器重新配置这些,不光麻烦,而且可能配错. 如果能够将整个服务连同他依赖的外部环境一同打包就好了,docker就是这么干的.他将配置好的软件打包成image,在新的机器里面启动这个image即可 当然我所理解的只是一小部分,docker还有提供弹性云服务.组建微服务架构等方面的应用 最后,相对于传统虚拟机,dock

Docker入门(二):容器与镜像常用指令

零.docker常用命令 #镜像名 版本标签 镜像id 创建时间 镜像大小 REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 6 months ago 1.84kB docker version/info #查看版本/信息 docker --help #查看说明文档 docker logs -f -t --tail 日志条数 容器ID #查看容器日志 docker inspect #获取容器/镜像的元数据 一

docker学习笔记5:利用commit命令创建镜像 和 删除本地镜像

一.概述 创建镜像有两种方法,一是用commit命令,二是用dockerfile方法(这个更常用,在下面文章介绍).本章介绍commit方法. 在介绍commit命令前,我们先回顾下对代码的版本控制,当修改代码后,我们会commit变更到版本服务器上. 对于容器类似的概念,当创建容器后,如果后面对容器做了修改,就可以利用commit命令将修改提交为一个新的镜像. 二.例子说明 下面我们通过具体的例子来说明: 1.创建新容器 docker run --name newcontent -i -t u