使用镜像
本章将介绍更多关于镜像的内容,包括:
从仓库获取镜像;
命令:
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] #默认拉取的是dockerhub中的镜像
例如:拉取nginx镜像
[root@localhost ~]# docker pull nginx
管理本地主机上的镜像:
1.列出镜像
docker image ls
列表包含了 仓库名 、 标签 、 镜像 ID 、 创建时间 以及 所占用的空间 。
2.查看镜像占用硬盘大小
3.列出某个镜像
[root@localhost ~]# docker image ls nginx
4.以特定的格式显示镜像
5.删除本地镜像
命令:$ docker image rm [选项] <镜像1> [<镜像2> ...]
docker image rm ID
docker image rm 镜像名称
使用docker image ls来配合删除
例如:删除一个名为redis的镜像
docker image rm $(docker image ls -q redis) #-q参数可以显示镜像id
例如:删除redis:2.2之前的镜像
docker image rm $(docker image ls -q -f before=redis:2.2)
例如:删除所有镜像
docker image rm $(docker image ls -q )
6.在容器中修改了文件,查看修改了哪些内容:可以使用docker diff命令
docker diff显示结果中有三种状态
A
添加了一个文件或目录B
文件或目录被删除C
原文出自7.docker commit保存容器为镜像,一般用来保留现场,和虚拟机的快照功能比较相似
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
其中 --author 是指定修改的作者,而 --message 则是记录本次修改的内容。这点和 git
版本控制相似,不过这里这些信息可以省略留空。
8.Dockerfile制作镜像
Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容
FROM:
使用docker制作镜像的时候大部分情况下需要在原有的镜像基础上进行部署,当然也有不需要基于基础镜像的
的情况,例如swarm、coreos、etcd.
需要制定基础的镜像的时候可以使用下面命令
#以nginx镜像作为基础镜像进行操作,默认nginx会到dockerhub上下载
FROM nginx
#不以任何镜像为基础镜像可以使用
FROM scratch
RUN:
RUN 指令是用来执行命令行命令的。由于命令行的强大能力, RUN 指令在定制镜像时是最
常用的指令之一。其格式有两种:
1.shell 格式: RUN <命令>
RUN echo "Hello Docker" > /usr/share/nginx/index/index.html
2.exec 格式: RUN ["可执行文件", "参数1", "参数2"]
RUN ["/bin/bash","-c","echo hello"]
介绍镜像实现的基本原理:
原文地址:https://www.cnblogs.com/python-cat/p/11535641.html
- 【翻译】JavaScript内存泄露
- 【翻译】ES6生成器简介
- 浅谈事件冒泡
- Github page搭建博客使用自定义插件的方法
- 【翻译】JavaScript中5个值得被广泛使用的数组方法
- 【翻译】浏览器渲染Rendering那些事:repaint、reflow/relayout、restyle
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
- 《JQuery技术内幕》读书笔记——自调用匿名函数剖析
- 【代码+论文】通过ML、Time Series模型学习股价行为
- .NET Core 系列5 :使用 Nuget打包类库
- 解决transition动画与display冲突的几种方法
- Gof设计模式之装饰者模式(七)
- JavaScript递归中的作用域问题
- constructor属性解析
- 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 数组属性和方法
- linux操作系统下配置ssh/sftp和权限设置方法
- linux把php升级到5.6的实操方法
- Linux sudo 漏洞可能导致未经授权的特权访问
- 在Linux中如何轻松删除源安装的软件包
- linux系统 java环境变量的配置方法
- Apache 文件上传与文件下载案例详解
- 前端CLI脚手架思路解析并从0到1搭建
- Linux中搭建完整的samba服务器全攻略(centos版)
- Linux 命令行通配符及转义符的实现
- Linux采用双网卡bond、起子接口的方式
- 在Linux分区或逻辑卷中创建文件系统的方法
- Linux下通过sed命令对kv方式的配置文件进行修改
- Linux中将txt导入到mysql的方法教程
- LNMP部署及HTTPS服务开启教程
- 在 Linux 上锁定虚拟控制台会话的实现方法