Docker学习3---镜像

本文介绍了Docker镜像的基础概念,包括镜像的定义、来源、加速器配置,以及镜像与容器的关系。重点讲解了常用的镜像管理命令,如拉取、构建和持久化操作。

Docker 学习之镜像

一、镜像是什么?

1、docker的镜像是什么?

 - 一个分层存储的文件
 - 一个独立的软件环境,用来打包软件运行环境和基于运行环境开发的软件它包含运行某个软件的所有内容,包括代码,运行时,库,环境变量和配置文件。
 - 一个镜像可以创建N个容器
 - 一种标准化的交付
 - 一个不包含linux内核而又精简的linux操作系统
 注释:镜像不是一个单一的文件,而有多层构成。可以通过docker history <ID/NAME> 来查看镜像中个层的内容及大小,每一层对应Dockerfile中的一条指令。Docker镜像默认存储路径:/var/lib/docker/\<storage-driver\>中。

2、镜像的来源?

 - Docker官方有公有的镜像仓库:Docker Hub, Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。
 - 地址:https://hub.docker.com/search?q=&type=image
 - 命令:docker search centos

在这里插入图片描述

3、配置镜像加速器

 - https://www.daocloud.io/mirror
 - linux
 	- curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
 	- 该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。
 	适用于Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,
 	其他版本可能有细微不同。更多详情请访问文档。
 - macOS
 	- Docker For Mac
 		- 右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为
 		 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:http://f1361db2.m.daocloud.io,
 		 点击 Apply & Restart 按钮使设置生效。
- Windows
	- 在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:
		http://f1361db2.m.daocloud.io  加到" registry-mirrors"的数组里。点击 Apply 。

- 手动配置加速器
	适用于各种 Linux 发行版
	- Docker 版本在 1.12 或更高,创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 (请将 加速地址 替换为在加速器页面获取的专属地址)
		{
		    "registry-mirrors": [
		        "加速地址"
		    ],
		    "insecure-registries": []
		}
	- Docker 版本在 1.8 与 1.11 之间
	  您可以找到 Docker 配置文件,不同的 Linux 发行版的配置路径不同,具体路径请参考 Docker官方文档,在配置文件中的 DOCKER_OPTS 加入:--registry-mirror=加速地址
	  重启Docker,不同的 Linux 发行版的重启命令不一定相同,一般为:service docker restart

4、镜像 与 容器关系

- 容器和镜像的关系

在这里插入图片描述

- 容器与镜像的底层关系

在这里插入图片描述

- 说明:
	容器是再镜像的最上面加一层读写层,在运行容器里文件改动时会先从镜像里要写的文件复制到容器自己的文件系统
	中(读写层);如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。所以无论多少个容器共享的镜像,
	所做的写操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件,这种方式提高磁盘利用率。若想
	持久化这些改动,可以通过docker commit将容器保存成一个新的镜像。

5、常用管理镜像命令

指令描述实例
ls列出镜像docker image ls
build构建镜像来自Dockerfile
history查看镜像历史docker image history nginx / docker history nginx
inspect显示一个或多个镜像的详细信息docker image inspect nginx / docker inspect nginx
pull从镜像仓库拉取镜像docker image pull nginx / docker pull nginx
push推送一个镜像到镜像仓库docker push nginx_141
rm移除一个或多个镜像docker image rm nginx
rmi移除一个或多个镜像docker rmi [镜像名]
prune移除未使用的镜像。没有被标记或被任何容器引用的。docker image prune
tag创建一个引用源镜像标记目标镜像docker image tag 605c77e624dd nginx_141
save保存一个或多个镜像到一个tar归档文件docker save centos -o centos7.tar
load加载镜像来自tar归档或标准输入docker load -i centos7.tar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lufei0920

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值