Docker 容器虚拟化的实用技巧总结
作者:lqh 发布时间:2021-03-09 14:16:50
服务器虚拟化指的是在操作系统与硬件之间加一层,叫做hypervisor层,对下控制硬件,对上承载操作系统,操作系统os以文件形式封装运行,称为虚拟机,主要解决的问题是硬件利用率和灵活性的问题,常见的方案为vmware vsphere,xen,kvm,hyper-v..容器虚拟化指的是在os上将应用打包以进程的形式运行,应用和应用间非完全隔离,但是更轻量,效率高,lxc和docker都可以称为容器级虚拟化,区别在于docker可以理解为经过精美封装过更加好用的lxc,有更好的接口和更完善的配套。
如果把Linux比喻成交通运输,Docker好比汽车引擎,Docker容器相当于汽车的各个零部件,Dockerfile是汽车组装车间,Docker registry可以看作是4s店。
1、Docker虚拟化技术入门
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 "Docker"应该是2014年最火爆的技术之一,如果没有听说过,那么你就out了,2015年将开启新的跨越。 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是Linux 容器(LXC)、Cgroup等技术。
2、Docker虚拟化安装配置
docker官方文档说要求Linux kernel至少3.8以上,一般为Centos7或者Ubuntu系统,那centos6.5如何来安装呢? 在Centos6.x系列安装docker软件,首先要关闭selinux,然后需要安装相应的epel源。
3、Docker常用命令讲解
大家都知道要掌握好Linux,首先就是要熟练Linux命令,并且去使用它。然后今天学习docker虚拟化也是一样的,我们要想更快的掌握docker技术,就得熟练docker有哪些常用的命令,以及每个命令的含义是什么,这样才能为我们后面的学习打下基础。
4、Docker独立IP及容器互联
内置bridge(nat) 缺点: 需要配套服务注册/发现,否则宿主上端口分配困难,容易冲突。 由于每个容器暴露的端口都不一致,造成前端路由层nginx配置(proxy_pass)里无法使用dns的方式。 端口映射要在容器启动时就指定好,后期无法变更。 测试发现nat不支持websocket。 自建桥接网络 优点: 每个容器都有独立ip,对外提供服务,如nginx+php,nginx+resin,都可以使用默认的80端口 由于容器暴露端口都可以使用80端口,因此前端路由层nginx配置(proxy_pass)里可以使用dns的方式。
5、Docker使用PipeWork构建独立外网IP
docker默认提供了一个隔离的内网环境,启动时会建立一个docker0的虚拟网卡,每个容器都是连接到docker0网卡上的。而docker0的ip段为172.17.0.1,如果想让容器与宿主机同一网段的其他机器访问,就必须在启动docker的时候将某个端口映射到宿主机的端口。这样如果大家会发现很麻烦,而且在企业里面也没这么使用的,比较弱。 大家应该知道KVM的桥接网络非常方便,其实docker也比较方便,至少不是自带的桥接而已,上次课程我们讲解了docker容器在centos6.5下的实现方法,今天我们来讲解centos7下如果快速实现docker容器桥接网络,并为容器分配外网IP。
6、Docker构建Tomcat环境
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,Tomcat本身也是一个HTTP服务器,可以单独使用,apache是一个以C语言编写的HTTP服务器。Tomcat主要用来解析JSP语言。目前最新版本为8.0。
7、使用Dockerfile进行docker容器管理
Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器。 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments 虽然指令忽略大小写,但是建议使用大写。
8、DockerFile企业案例讲解及实战
Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器。 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments 虽然指令忽略大小写 # 作者信息 MAINTAINER JFEDU.NET # RUN命令会在上面指定的镜像里执行任何命令 RUN yum install passwd openssl openssh-server -y RUN echo '123456' | passwd --stdin root RUN sed -i '/^session\\s\\+required\\s\\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
9、Docker备份及磁盘扩容
docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,例如: docker -d --storage-opt dm.basesize=20G 是指定默认的大小为20G,具体参数可以参考https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper
10、Docker构建Mysql数据库服务器
在docker虚拟化中,如何来构建我们的MYSQL数据库服务器呢?答案很简单,我们可以是dockerfile来生成mysql镜像并启动运行即可。
11、Docker构建Nginx高性能web服务器
首先需要安装pcre库,然后再安装Nginx: #安装pcre支持rewrite库,也可以安装源码,注*安装源码时,指定pcre路径为解压 源码的路径,而不是编译后的路径,否则会报错 (make[1]: *** [/usr/local/pcre/Makefile] Error 127 错误)
12、Docker构建LNAMP架构配置
LNAMP(Linux+Nginx+Apache+Mysql+PHP)架构受到很多IT企业的青睐,取代了原来认为很好的LNMP(Linux+Nginx+Mysql+PHP)架构,那我们说LNAMP到底有什么优点呢,还得从Nginx和apache的优缺点说起。 Nginx处理静态文件能力很强,Apache处理动态文件很强而且很稳定,把二者综合在一块,性能提升很多倍。可能很多Linux SA在从事LNMP运维中,会发现PHP(FastCGI)模式会出现一些502错误的现象,这是因为Nginx+PHP(FastCGI)组合不稳定的原因造成的。
13、Docker自动化脚本管理一
通过本章的学习,大家可以快速的管理自己的容器,实现自动安装并配置docker虚拟化及桥接网络,同时使用pipework这个软件来配置我们的容器IP。能够实现容器的一个简单的管理。 #!/bin/bash #auto install docker and Create VM #by wugk 2016-01-05
14、Docker自动化脚本管理二
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。 在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。 下面对比了Docker 和传统虚拟化(KVM、XEN等)方式的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://www.server110.com/docker/11873.html


猜你喜欢
- 通过论坛、留言板和讨论组来将你的AdSense收入最大化!在第8章,我们讨论了如何通过博客来创造收入,不过博客当然不是互联网上唯一的内容,也
- SEO自古以来都是以搜索引擎权重为重或者是(目的)的,无论哪里或者哪个SEO的目的也不过如此而已,SEO万变不离其宗,始终也离不开几大烹调要
- 不太懂的SEO新手,往往看见用群发就怀疑,认为是作弊?是黑猫?会被K?会被惩罚?会被降权?会被删除站?其实新手也很可怜,他们连被K具体是什么
- 很多管理员,特别是做虚拟主机可能到遇到过IIS cpu100%占用,但又不知道哪些网站资源占用多,下面介绍一个方法可以查看每个web站点的资
- 静态化这是一个跨越了太长时间的话题,很多人一聊到SEO,就说“静态化很重要”,其实怎么说呢,我觉得静态化更重要的是用来解决系统负载和运行效率
- Photoshop官方提供免费相册,非常酷的一个相册,全站基于Flash技术架构的,其操作非常方便。容量大小为2G,支持图片直接外链,仅可上
- VirtualBox中有四种网络连接方式:NATBridged AdapterInternalHost-only AdapterVMWare
- 大家先来看看问题描述:新建虚拟机的列表中没有64位系统选项,如何解决?操作系统:Windows 7 64位;虚拟机:Oracle VM Vi
- 记得那是一九九四年的夏天,我和大多数的打工者一样,乘坐南下的火车来到了深圳。当时的心愿,就是每月能挣点钱帮补一下家里,由于只有高中文化,就匆
- 最易创业成功的方式有"网络、加盟、兼职、团队、大赛、概念、内部"等七种方式。 &nbs
- Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP
- 有用户问GoDaddy主机如何在共享主机帐户上使用Password Vault?其实这个问题很简单,Password Vault可以让你在一
- 做google adsense广告经过尝试……UTF-8的的确收入比GB2312的高那么一些分析:GB2312,中文UTF-8地球人都可以看
- 进程描述进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在
- 为了把握主流社区产品的应用趋势,进一步满足了地方及垂直社区门户化发展的应用需求,中国领先的社区平台与服务提供商康盛创想(Comsenz)通过
- 一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基
- Godaddy主机用户可以使用一个基于网络的FTP客户端用Hosting Control Center上载、下载其网站上的文档。注意:尽管你
- 10月12日消息,据国外媒体报道,有业内人士称,英特尔将来可能开发自己的视频游戏机,从而向索尼、微软和任天堂发起挑战。有消息称,微软和索尼将
- 世界上没有绝对安全的系统,即使是普遍认为稳定的Linux系统,在管理和安全方面也存在不足之处。我们期望让系统尽量在承担低风险的情况下工作,这
- SEO的效果即是让小说网在搜索引擎中能有个理想的排名。SEO与品牌间是有关系的,可以这么说,SEO能造就一个品牌,但一个小说网站能成了品牌后