CLOUD 云计算进阶(五) - 自定义镜像与仓库 、 持久化存储 、 Docker网络架构

一 自定义镜像与仓库


自定义镜像:使用镜像启动容器,在该容器上进行修改
另存为一个镜像
打包
Docker commit dslks2112 myos
Docker history myos
步骤一:使用镜像启动容器

1)在该容器基础上修改yum源
[root@docker1 docker_images]# docker run -it docker.io/centos
[root@8d07ecd7e345 /]# rm -rf /etc/yum.repos.d/*
[root@8d07ecd7e345 /]# vi /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=ftp://192.168.1.254/system
enabled=1
gpgcheck=0
[root@8d07ecd7e345 /]# yum clean all
[root@8d07ecd7e345 /]# yum repolist
2)安装测试软件
[root@8d07ecd7e345 /]# yum -y install net-tools iproute psmisc vim-enhanced
3)ifconfig查看
[root@8d07ecd7e345 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>

[root@8d07ecd7e345 /]# exit
exit
步骤二:另存为另外一个镜像

1)创建新建镜像
[root@docker1 docker_images]# docker start 8d07ecd7e345
//可以简写为8d,要保证唯一性
8d07ecd7e345
[root@docker1 docker_images]# docker commit 8d07ecd7e345 docker.io/myos:latest
sha256:ac3f9c2e8c7e13db183636821783f997890029d687

二 使用DockFile 文件创建一个新镜像
Mkdir build
Cd build
Touch Dockerfile
Vim Dockfile
FROM docker.io/centos:latest
RUN Rm -rf /etc/yum .repos.d/*repo
ADD rr.repo /etc/yum.repos.d/local.repo
RUN Yum -y install net-tools vim psmisc iproute

Docker build -t test:latest . ADD


二 自定义镜像仓库
Registy基本概念:
共享的一台服务器:镜像化的一台服务器
在这里插入图片描述
1 安装私有仓库:
yum -y install docker-distribution.x86_64
systemctl start docker-distribution
systemctl enable docker-distribution

2 客户端配置:docker 1 docker2 都需要配置

vim /etc/sysconfig/docker
13 /24 添加 :192.168.1.30:5000
systemctl restart docker

仓库配置文件 :/etc/docker-distribution/registry/config.yml
/var/lib/registry

3 docker1 上传镜像
Docker tag docker.io/busybox:latest 192.168.1.30:5000/busybox:latest
Docker push 192.168.1.30:5000/busybox:latest

docker tag docker.io/myos:latest 192.168.1.30:5000/myos:latest
docker images
docker push 192.168.1.30:5000/myos:latest

Docker2 启动镜像:
[root@docker2 ~]# docker run -it 192.168.1.30:5000/
5000/busybox 5000/myos
5000/busybox:latest 5000/myos:latest

查看私有镜像仓库的镜像名称:curl http://192.168.1.30:5000/v2/_catalog

查看某一仓库标签:curl http://192.168.1.30:5000/v2//tags/list

私有仓库数据存储目录:/var/lib/registry


三 持久化存储
卷的概念
1 Docker容器不保存任何数据
2 重要数据请使用外部卷存储实现持久化  比如:ceph GluFster
3 容器可以挂载真是急目录或者共享存储为卷

主机卷的映射
:将真实机目录挂载到容器中提供持久化存储
1目录不存在会自动创建
2 目录存在会直接覆盖掉

Docker run -v /data:/data -it docker.io/centos bash

**************************************************************8
四 共享存储
共享存储基本概念
1一台共享存储服务器可以提供给所有Docker主机使用
2共享存储服务器有(DAS NAS SAN )

实现步骤
使用NFS 创建共享存储服务器
客户端挂载NFS共享,并最终映射到容器中

NFS主机操作192.168.1.254
服务器共享目录:
Yum -y install nfs-utils
Vim /etc/exports
Systemctl start nfs

Dcoker 主机操作 192.168.1.30 192.168.1.31
Mount 挂载共享
运行容器时,使用-v选项映射磁盘到容器中


五 网络架构
查看默认docker 创建的网络模型
Dicker network list

新建docker 网络模型
Docker Network create --subnet =10.10.10.0/24 docker1

使用自定义网桥
Docker rum -it --network=docker1 myos

  • 默认容器可以访问外网
  • 但是外部的网络主机不可以访问容器内的资源
  • 容器的特征是可以吧宿主主机变成对应的服务
    我们可以使用-p参数吧容器的端口和宿主机端口进行绑定
    -p 宿主机端口:容器端口

把docker1 变成httpd
Docker run -itd -p 80:80 docker.io/myos:httpd

把docker1 变成nginx
Docker run 0itd -p 80:80  docker.io/nginx:latest


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~上善若水~~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值