docker的持久化存储和共享存储和网络架构

1、持久化存储
docker容器中一般不保存数据,只封装系统和环境,这样就存在一个问题,一个docker容器的数据内容不能持久化,且不能共享出来,在生产中,不能很好地提供服务。为了解决这个问题,就要涉及到docker的持久化存储和共享存储的技术了。
所谓持久化,就是将真实机目录挂载到容器中,让容器运行时所产生的数据都写入到真实机的目录中,以此来提供持久存储。

mkdir /var/webroot
docker run -d -p 80:80 -v /var/webroot:/var/www/html 192.168.1.194:5000/wang:sh2
——>-d 后台进程
—>-p 映射端口 物理机端口:容器端口
——>-v 物理机文件夹:容器的目录(容器中目录如果不存在,会自动创建,如果存在,会覆盖掉)
—>192.168.1.194:5000  远程镜像

2、共享存储
现实生存环境中,一般会有专门的文件服务器或者是分布式文件服务器集群来提供文件的存储,此次通过共享文件夹的方式来实现共享存储。
(1)文件服务器提供一个nfs共享存储==>192.168.1.254

yum -y install nfs-utils
vim /etc/exports
/webroot 192.168.1.0/24(rw,sync)
:wq
systemctl restart nfs

(2)docker主机
————mount挂载共享
mount 192.168.1.254/webroot /mnt/
——用-v选项映射磁盘到容器中。
docker run -d -p 80:80 -v /mnt:/var/www/html 192.168.1.194:5000/wang:sh2
这样不管是在容器中写html网页,还是在/mnt/目录下书写html网页,或者是在文件服务器的/webroot下面书写html网页,都可以在网页上被访问到。
这样可以提供负载均衡或者是工作上的同步而不互相干扰,比如一位web编写人员写a网页,另一位web编写人员写b网页,不会出现相互干扰,且书写的东西都被存储在真实的文件服务器中。
3、Docker网络架构
docker网络架构中引用的是linux网桥及虚拟交换机架构,这里的虚拟交换机默认为docker0,也可以手工配置虚拟交换机,不过一般是让docker服务自动配置。
(1)安装一个网桥管理服务
[[email protected] ~]# yum -y install bridge-utils.x86_64
(2)查看虚拟交换机

[[email protected] ~]# brctl show
bridge name bridge id       STP enabled interfaces
docker0     8000.0242ae16e82c   no
(虚拟交换机)                                    (网卡)//如果启动了容器,则每一个容器会对应一张虚拟网卡

(3)断开断开网卡与交换机的连接,相当于拔网线
brctl delif docker0(虚拟交换机) 网卡名
(4)查看默认docker创建的网络模型

docker network list
[[email protected] ~]# docker network inspect c088b2c8b1e7(网桥的id)  //查看网桥的底层信息。
docker network 回车,可以看到它的帮助

(5)手动创建一个网络虚拟交换机

docker network create [--help]
docker network create --subnet 192.168.100.0/24(子网) -d bridge(指定是网桥) -o(参数)  com.docker.network.bridge.name=docker1  docker1(名字)
//这样用ifconfig看到的名字依然为docker1
docker network ls
ifconfig

(6)启动容器时指定用哪张网桥,不指定时用docker0
docker run -it --network=docker1 192.168.1.194:5000/wang:sh2

(7)docker会自动搭建路由器
创建的docker1用的网段是192.168.100.0网段的,docker0是172.17.0.0网段的,两个网段之间可以相互ping通。
4、容器端口与物理主机端口绑定的原理:
底层原理是启动了linux内核的firewalld(iptables)的端口转发功能。
手动为已经起来的容器绑定端口
(1)查看iptables的规则

iptables-save
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.3:80
按照相同的书写写一条规则:
iptables -t nat -A DOCKER ! -i docker0(指定网卡) -p tcp -m tcp --dport 2022(物理端口) -j DNAT --to-destination 172.17.0.3:22

原文地址:http://blog.51cto.com/13731599/2134517

时间: 2024-08-30 05:26:17

docker的持久化存储和共享存储和网络架构的相关文章

RHEL6 搭建部署共享存储服务

搭建存储服务器 什么是存储: 存储是根据不同的应用环境通过采取合理,安全,有效的方式将数据保存到某些介质上并能保证有效的访问 一方面它是数据临时或长期驻留的物理媒介 另一方面,它是保证数据完整安全存放的方式或行为 存储就是把这两方面结合起来,向客户提供一套数据存放解决方案 存储介质: 内存(临时存储)  磁盘(永久存储) 数据存储位置: 云存储 本地 共享存储 分布式存储 存储技术分类: SCSI 小型计算机系统接口 DAS 直连式存储 NAS 网络技术存储 SAN 存储区域网络 FC 光纤通道

【讲清楚,说明白!】常用共享存储--iSCSI服务部署企业级网络存储

目录:(一)了解什么是共享存储及共享存储的必要性(二)配置iSCSI服务器端(三)配置iSCSI客户端 iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,提出,并于2003年2月11如成为正式的标准.与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:1.把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接

44_自定义镜像及仓库、持久化存储 、 Docker网络架构

1. 制作自定义镜像(base基础镜像,搭建共性环境)基于centos镜像使用commit创建新的镜像文件基于centos镜像使用Dockerfile文件创建一个新的镜像文件 1.1 使用镜像启动容器 1)在该容器基础上修改yum源docker_images]# docker run -it centos345 /]# rm -rf /etc/yum.repos.d/*  345 /]# vi /etc/yum.repos.d/dvd.repo[dvd]name=dvdbaseurl=ftp:/

五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构

1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件 1.1 使用镜像启动容器 1)在该容器基础上修改yum源 docker_images]# docker run -it centos 345 /]# rm -rf /etc/yum.repos.d/* 345 /]# vi /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl

011.Kubernetes使用共享存储持久化数据

本次实验是以前面的实验为基础,使用的是模拟使用kubernetes集群部署一个企业版的wordpress为实例进行研究学习,主要的过程如下: 1.mysql deployment部署, wordpress deployment部署, wordpress连接mysql时,mysql的 pod ip易变 2.为mysql创建 service,申请固定 service lp 3. wordpress外部可访问,使用 node port类型的 service 4. nodeport类型的 service

K8S实战-构建Django项目-03-使用共享存储

上篇博文,发布之后,正好跟着双十一,不知道大家剁手了没~~.好啦,言归正传先声明一下,每周1,3,5更新教程,大家如果想要了解更多的教程可以重温一下之前的教程或者,关注崔格拉斯 公众号,大家想要源码的可以私信我~ 每日解析(11.9 每日一题解析) 昨天的教程中留下了一个问题:如何实现数据持久化,确保django project和数据库文件不随pod的销毁而销毁. 解析: 在上一篇教程中,我们已经使用了emptyDir 数据卷.这种数据卷对于当个容器来说是持久的,但是对于Pod来说并不是持久的.

Web集群实现共享存储的架构演变及MogileFS

本篇博客从Web集群中亟需解决的大容量存储问题引入,分析了几类常用的共享存储架构,重点解析了分布式存储系统的原理及配置实现: =================================================================== 1 共享存储的架构演变 2 分布式存储系统 2.1 基础知识 2.2 分类 2.3 CAP理论 2.4 协议 3 MogileFS 3.1 特性 3.2 架构 3.3 组成 3.4 服务安装及启动 3.5 配置部署 3.6 配置前端代理N

docker 配置Btrfs和Device mapper存储驱动设置

运行环境: docker -v Docker version 1.12.1, build 23cf638 uname -a Linux ceph-6-29 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux\ 一:docker 首次安装完成,默认存储设备为loop 回环设备,会创建一个100G的用于存储数据,和一个2G的用于存储元数据的稀疏文件,然后分别附加到回

大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台. 亮点一:真实环境还原,课程采用了VM环境重现大网站集群服务器环境,真实环境还原再现. 亮点二:基础实用,细节决定成败,课程内容在演练过程中重点介绍各种细节,保证初级人员快速入门及高级进阶. 亮点三:讲师丰富的海量平台运作经验 讲师tom5多