docker实战学习2022版本(二)之战至终章

本文介绍了Docker镜像的分层结构及其优势,通过示例展示了如何在Ubuntu镜像基础上添加vim命令并创建新镜像。此外,还详细阐述了如何在阿里云上创建镜像仓库,发布及验证镜像,并演示了本地搭建Docker私有仓库的过程。
摘要由CSDN通过智能技术生成

docker镜像是分层的,一层一层组成的镜像结构

docker镜像层都是只读的,只有容器是可写的,当容器启动时,一个新的可写层被加载到镜像的顶部。

为什么docker镜像要采用分层结构呢?

镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。

我docker服务器启动一个ubuntu的容器,使用vim 命令的时候会发现并没有这个命令,这是由于ubuntu镜像精简了很多命令,只保留linux内核必须的功能与命令,这也是docker中容器非常快的原因。

下面我们就自己使ubuntu具备vim命令

apt-get update

apt-get -y install vim

执行完命令之后可以发现vim命令就可以使用了

提交容器副本使其成为一个新的镜像(容器外执行)

docker commit -m "add vim" -a "hanansheng" cff1debb8875 has-ubuntu:1.1


 

 提交之后通过 docker images就可以看到我们刚才提交的镜像

 这个时候我们运行刚刚生成的镜像,就会发现新的容器是具备vim命令的

总结:docker中的镜像分层,支持通过扩展现有镜像,创建新镜像。类似于java继承于一个base基础类,自己再按需扩展。

我们可以把这个has-ubuntu本地镜像发布到阿里云上面供其他人使用:

 进入阿里云,进入实例列表:

 创建命名空间:

 创建镜像仓库:

 点击下一步:

 然后直接执行第三条命令即可:

 如果执行第一条命令就报了这个错,那就是登录凭证未设置:

 设置访问凭证密码:

 设置完登陆凭证就成功连接到阿里云了:

 然后执行其他命令:

 那上传到了阿里云之后怎么验证下是否上传成功呢?可以拉取一下试试:

 可以看到拉取成功:

这个例子就证明了docker的分层概念!!

docker私有库学习:

本地搭建docker私有仓库:

步骤一:下载镜像docker registry

docker pull registry

步骤二:运行私有库registry,相当于本地有个私有docker hub

docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry

步骤三:创建一个新镜像,ubuntu安装ifconfig命令

docker run -it ubuntu /bin/bash

apt-get update

apt-get  install  net-tools

commit 新的镜像:

docker commit -m "add config"  -a "hanansheng" cff1debb8875 has-ubuntu:1.6

 

  步骤四:curl验证私服库上有什么镜像,目前是空的

curl -XGET http://127.0.0.1:5000/v2/_catalog

 步骤五:将新镜像has-ubuntu:1.x修改符合私服规范的TAG

docker tag has-ubuntu:1.6 127.0.0.1:5000/has-ubuntu:1.6

  步骤六:修改配置文件使其支持http

vim /etc/docker/daemon.json

步骤七:push推送到私服库

 然后再通过crul在验证下私服库中有什么镜像:

curl -XGET http://127.0.0.1:5000/v2/_catalog

 最后pull到本地并运行:

docker pull 127.0.0.1:5000/has-ubuntu:1.6

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

酒书

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

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

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

打赏作者

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

抵扣说明:

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

余额充值