Docker系列3 - Docker文件系统及搭建Docker私服

系列文章
Docker系列1 - CentOS7安装Docker
Docker系列2 - Docker常用命令


UnionFS 联合文件系统

是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改做为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下
镜像可以通过分层来进行继承

docker的镜像实际上由一层一层的文件系统组成

bootfs主要包含bootloader和kernel
bootloader主要是引导加载kernel

Linux刚启动时会加载bootfs文件系统,在docker镜像的最底层是引导文件系统bootfs
rootfs,在bootfs的上一层。rootfs就是各种不同的操作系统发行版,如Ubuntu,CentOS

镜像分层:共享资源,方便复制迁移,就是为了复用


搭建Docker私服

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

#查询私服上有什么镜像
curl -XGET http://127.0.0.1:5000/v2/_catalog

#打上私服的标签
docker tag intmall/ubuntu:3.7 127.0.0.1:5000/ubuntu:3.7
docker images

ll /etc/docker/
#如果没有daemon.json文件,则创建一个
#增加一行(docker默认不允许http方式推送镜像,通过配置选项来取消这个限制)
{
"insecure-registries": ["127.0.0.1:5000"]
}

systemctl restart docker
#启动registry容器
docker start deabd98b3eb1
docker update deabd98b3eb1 --restart=always

docker push 127.0.0.1:5000/ubuntu:3.7

curl -XGET http://127.0.0.1:5000/v2/_catalog
docker pull 127.0.0.1:5000/ubuntu:3.7


文件挂载

docker run -it -v /data/mytest:/test --name myubuntu 127.0.0.1:5000/ubuntu:3.7 /bin/bash

#查看数据卷是否挂载成功
docker inspect 容器id
docker inspect myunbuntu

#挂载文件,限制容器内部只读
docker run -it -v /宿主机目录:/容器内目录:ro 镜像名

#卷的继承和共享(两个容器和主机共享目录)
docker run -it --volumes-from 容器id(或者容器名称) ubuntu

#源容器关停后,继承的容器还是可以读写共享的目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GalenZhang888

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

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

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

打赏作者

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

抵扣说明:

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

余额充值