Docker学习笔记三:操作Docker镜像
时间:2019-11-14
本文章向大家介绍 Docker学习笔记三:操作Docker镜像,主要包括 Docker学习笔记三:操作Docker镜像使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 列出镜像列表:docker images
2. 获取一个新的镜像:docker pull ubuntu:13.10
3. 查找镜像:docker search httpd
4. 拖取镜像:docker pull httpd
5. 使用镜像:docker run httpd
6. 删除镜像:docker rmi httpd
7. 设置镜像标签:docker tag <容器ID> test/centos:dev
8. 创建镜像:
(1)从已经创建的容器中更新镜像,并且提交这个镜像
a.使用镜像来创建一个容器:docker run -t -i ubuntu:15.10 /bin/bash
b.在运行的容器内使用 apt-get update 命令进行更新。
c.输入 exit 命令来退出这个容器
d.通过命令 docker commit 来提交容器副本:docker commit -m="has update" -a="tester" <容器id> test/ubuntu:v2
各个参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
test/ubuntu:v2: 指定要创建的目标镜像名
e.查看新镜像 runoob/ubuntu:v2:docker images
(2)使用 Dockerfile 指令来创建一个新的镜像
a.创建一个 Dockerfile 文件,文件内容如下:
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd test
RUN /bin/echo 'test:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源
RUN 指令告诉docker 在镜像内执行命令,安装了什么
b.通过 docker build 命令来构建一个镜像:docker build -t test/centos:6.7
参数说明:
-t :指定要创建的目标镜像名
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
c.查看创建的镜像:docker images (应该已经存在新建的镜像)
d.使用新的镜像来创建容器:docker run -t -i test/centos:6.7 /bin/bash
e.进入容器后输入:id test (新镜像已经包含我们创建的用户 test)
以上是操作Docker镜像的常用指令,详细内容请参考:https://www.w3cschool.cn/docker/docker-tutorial.html。
原文地址:https://www.cnblogs.com/daydayup-lin/p/11858308.html
- 类属性的延迟计算
- 一步一步学lucene——(第三步:索引篇)
- 在Python应用中使用MongoDB
- Python检查xpath和csspath表达式是否合法
- 一步一步学lucene——(第四步:搜索篇)
- Python爬虫代理IP池
- SSDB图形界面管理工具:phpssdbadmin安装部署
- [Go 语言社区] 初始化内存数据--游戏列表数据
- SSDB安装配置记录
- Python标准库笔记(3) — datetime模块
- Django 1.10中文文档-第一个应用Part4-表单和通用视图
- Python标准库笔记(2) — re模块
- Python爬虫—破解JS加密的Cookie
- Go语言中json转成map结构
- 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 数组属性和方法
- java线程池(五):ForkJoinPool源码分析之一(外部提交及worker执行过程)
- JavaScript中的匿名函数、闭包和BOM
- 【Vue.js】Vue.js中的事件处理、过滤器、过渡和动画、组件的生命周期及组件之间的通信
- 树莓派基础实验18:声音传感器实验
- 树莓派基础实验19:光敏传感器实验
- 逻辑式编程还有用吗?--“三维度”逻辑编程语言的设计(2)
- git 报错解决Validate branches Cannot Create: This merge request already exists
- 树莓派基础实验20:火焰报警传感器实验
- (译)SDL编程入门(8)几何图形渲染
- Java8 dubbo 调用 Collectors.toMap代码片发生的异常(IllegalStateException: Duplicate key)
- 树莓派基础实验21:烟雾报警传感器实验
- 树莓派基础实验22:红外遥控传感器实验
- Spring的BeanUtil的copyProperties方法 慎用!!
- (译)SDL编程入门(9)视口
- (译)SDL编程入门(7)纹理加载和渲染