使用docker pull 下载的镜像为什么只有几百兆?

一、问题背景

通常我们下载一个centos镜像至少有3G,在docker容器中使用docker pull centos下载的镜像为啥只有200M呢?

带着问题一起学习、思考这个问题

Linux操作系统分别由两部分组成
1.内核空间(kernel)
2.用户空间(rootfs)

内核空间是kernel,Linux刚启动时会加载bootfs文件系统,之后bootf会被卸载掉,

用户空间的文件系统是rootfs,包含常见的目录,如/dev、/proc、/bin、/etc等等

不同的Linux发行版本主要的区别主要是rootfs, 多个Linux发行版本的kernel差别不大,所以docker可以同时支持多种Linux镜像

通过docker pull centos命令下载镜像,实质上下载centos操作系统的rootfs,因此docker下载的镜像大小只有200M

原文地址:http://blog.51cto.com/liuleis/2298633

时间: 2024-10-26 15:50:54

使用docker pull 下载的镜像为什么只有几百兆?的相关文章

Docker pull下载出现 error pulling image configuration:

出现这个问题,并且在错误信息的最后附带 net/http: TLS handshake timeout: 猜测是docker的相关配置问题,导致无法通过TLS握手 执行如下命令修改配置 echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker 然后就能使用docker pull 拉取镜像了

docker pull下来的镜像放哪儿了?

本机docker版本 docker –version Docker version 18.09.0 1.进入docker 目录 [email protected]:~# cd /var/lib/docker [email protected]:/var/lib/docker# ls builder buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes 2.进入containers,每

docker pull 下来的镜像都存到了哪里

docker pull 下来的命令都默认存在 /var/lib/docker/文件夹下. 查看/var/lib/docker/image/overlay2/repositories.json文件: 正好和docker images的内容一致. 1.进入docker目录,文件结构如下: 2. 进入containers 目录,这个目录中保存是已拉取的容器ID,即一个序列号,对应一个容器. 随便进入选择一个序列号,进入后发现容器的具体结构如下: 3. 进入image 目录 这个目录中保存的是已拉取的镜

Docker:搭建私有镜像仓储(image registry)

搭建私有仓储,其实本质上也是运行了一个官方提供的(Registry)镜像的容器:生产环境中,我们要搭建自己的专有仓储 下载registry镜像 docker pull registry 运行镜像 docker run -d -p 5000:5000 registry 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,如下: docker run -d

下载容器镜像

简介:学会使用docker pull命令下载一个镜像. 学会使用docker命令来下载镜像 目标: 提示: 正确的命令: 学会使用docker命令来下载镜像 下载镜像的命令非常简单,使用docker pull命令即可.(译者按:docker命令和git有一些类似的地方).在docker的镜像索引网站上面,镜像都是按照用户名/镜像名的方式来存储的.有一组比较特殊的镜像,比如ubuntu这类基础镜像,经过官方的验证,值得信任,可以直接用镜像名来检索到. 目标: 通过docker命令下载tutoria

云计算:Docker安装及本地镜像仓库配置

# **Docker的安装及如何配置从国内镜像中拖取需要的images到本地使用** 实验环境: OS:CentOS7.0 -X64 上网环境:通过代理服务器上网 1.首先下载docker安装包docker-engine-1.7.1-1.el7.centos.x86_64.rpm 安装包下载地址: https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.centos.x86_64.rpm [[

docker 获取一个centos镜像

搜索出docker hub上所有带centos的公共的可用镜像docker search centos 下载最新的centos镜像docker?pull?centos 查看镜像docker images 列出imagesdocker images -a 列出所有的images docker rmi <image ID> 删除一个或多个image 原文地址:http://blog.51cto.com/quietnight/2107906

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#输入用户名和密码 推送镜像到D

解决docker下载[[email&#160;protected] var]# docker pull java Using default tag: latest Try镜像出现 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net......: net/http: TLS handshake timeout的问题

[[email protected] var]# docker pull javaUsing default tag: latestTrying to pull repository docker.io/library/java ... latest: Pulling from docker.io/library/java5040bd298390: Pulling fs layer fce5728aad85: Pulling fs layer 76610ec20bf5: Waiting 6017