Docker-4 从阿里云拉取镜像

前言

什么是Docker镜像?

Docker镜像是由文件系统叠加而成。最底端是一个文件引导系统,即bootfs。Docker用户不会与引导文件系统有直接的交互。

Docker镜像的第二层是root文件系统rootfs,通常是一种或多种操作系统,例如ubuntu等。在Docker中,文件系统永远都是只读的,在每次修改时,都是进行拷贝叠加从而形成最终的文件系统。Docker称这样的文件为镜像。

一个镜像可以迭代在另一个镜像的顶部。位于下方的镜像称之为父镜像,最底层的镜像称之为基础镜像。最后,当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器。

在这里插入图片描述
docker的这种形式我们称之为写时复制

镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。

1 | docker search  查询镜像
2 | docker pull   拉取镜像
3 | docker push   推送镜像

镜像默认可以从 docker hub 上下载,这是 docker 官方的公共仓库,为我们免费提供了大量已经容器化的应用镜像,避免我们重复的去造轮子。但是官方并没有在国内部署服务器,如果你不走 vpn 的话真的是太慢了,报错和超时让人非常的郁闷。我们可以使用阿里云进行镜像加速直接下载镜像。

docker 的镜像是增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。

Aufs是Another Union File System的缩写,支持将多个目录挂载到同一个虚拟目录下。

已构建的镜像会设置成只读模式,read-write写操作是在read-only上的一种增量操作,固不影响read-only层。

这个研究有一个好处,比如我们现在可以看到手机里面的APP,在命令里面都会用APP字段下回来,在下回来之前它就是一个静态的,我们没有往里面写东西,但是我们启动起来以后,我们就可以往里面写东西,进行各种各样的操作。但是如果我们把它关掉了以后,或者删除了以后,它的这个镜像是存在远端的,所以在这个镜像里面是不会去修改的。并且这样也会有一个非常好的地方,这个场景非常适合我们去实现测试环境,因为我们的测试环境经常会有一个操作就是灌数据,我们可以提前把这个镜像数据打包到测试里面,那么这个镜像软件里面包含了,最上面是nginx,比如它里面会有一些数据,我们可以在往上面打一层数据,打完之后把它起成一个容器就可以去测试,测试完之后这个容器里面会生成各种各样的数据,也就是脏数据,这样的话,我们就可以把这个容器删掉,删掉以后我们镜像里面的容器是不会受影响的。如果说它想再创建一套,我们可以把这个镜像再启一个容器,就可以是一个一模一样的,并且是一个干净的环境。

拉取过程详解

1.我们可以直接登录阿里云注册一个账号(注册过程就不再说明)

2.点击控制台——>产品与服务——>弹性计算——>容器镜像管理
看到自己专有的镜像加速器:
在这里插入图片描述3.根据官方文档进行配置

[root@server1 ~]# cd /etc/docker/
[root@server1 docker]# ls
key.json
[root@server1 docker]# vim daemon.json
[root@server1 docker]# systemctl daemon-reload 
[root@server1 docker]# systemctl restart docker
[root@server1 docker]# cat daemon.json 
{
  "registry-mirrors": ["https://58r3jqct.mirror.aliyuncs.com"]
}

4.docker pull nginx ,直接拉取镜像,保证联网的状态下即可下载

[root@server1 network-scripts]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              c29284518f49        12 days ago         72.8MB
game2048            latest              19299002fdbe        4 years ago         55.5MB
mario               latest              9a35a9e43e8c        5 years ago         198MB
[root@server1 network-scripts]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
33847f680f63: Pull complete 
dbb907d5159d: Pull complete 
8a268f30c42a: Pull complete 
b10cf527a02d: Pull complete 
c90b090c213b: Pull complete 
1f41b2f2bf94: Pull complete 
Digest: sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90
Status: Downloaded newer image for nginx:latest
[root@server1 network-scripts]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              08b152afcfae        3 days ago          133MB
ubuntu              latest              c29284518f49        12 days ago         72.8MB
game2048            latest              19299002fdbe        4 years ago         55.5MB
mario               latest              9a35a9e43e8c        5 years ago         198MB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值