详解Docker基于已有的镜像制新的镜像
时间:2019-03-30
本文章向大家介绍详解Docker基于已有的镜像制新的镜像,主要包括详解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:latest Untagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481 Deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381ad Deleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5
3.3 获取镜像
docker pull bage88/firstimage
3.4 运行镜像
docker run -d -p 8010:80 bage88/firstimage
查看结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- P1567 统计天数
- P1089 津津的储蓄计划(模拟训练)
- 二分练习 --D - Trailing Zeroes (III)
- HDU 5806
- B - They Are Everywhere CodeForces - 701C
- 尺取练习 -A - A - Stages (水题压压惊)
- 填坑-回溯-预习 之 二分-尺取大总结
- 深入浅出理解动态规划(一) | 交叠子问题
- 深入浅出理解动态规划(二) | 最优子结构
- 用x种方式求第n项斐波那契数,99%的人只会第一种
- 面试官:手撕十大排序算法,你会几种?
- 如何在Integer类型的ArrayList中同时添加String、Character、Boolean等类型的数据?
- Java开发岗面试题--基础篇(一)
- leetcode链表之找出倒数第k个节点
- MAC下安装nginx的正确姿势 实践笔记