centos7之docker安装
下午四点左右,我准备接触docker这个技术。之所以接触它,原因来自tomcat服务器老是挂,也不能说老是挂,一周一次吧,或者不定时,最初出现的问题,分为这么几类?
一类,java代码的问题,某个类导致线程阻塞导致内存泄露,使tomcat突然宕机和某个类找不到异常导致宕机;
二类,java运行环境内存不足,通过调tomcat内存解决该问题,不过这并不能解决这个问题,当然tomcat初始内存的确小,需求适当的调大,但是前提必须符合服务器的配置和内存;
三类,tomcat连接池和线程池的缘故,需要tomcat连接池和线程池优化,这一优化后,tomcat一天宕机或者三两天宕机,最后变为一周或者两周一次;
以上三类或许不是真正的原因,真正的原因我目前无法找到,真正的根源问题出在哪?我也不是十分明确。
针对解决这些问题,临时的做法可以参考:
1.参考我的 Jmeter之tomcat性能测试+性能改进措施 这篇文章 解决连接池和线程池的问题;
2.通过使用shell,定时任务监控tomcat,如果检测到宕机,就会自启;
目前只想到这两个。
不过回归话题,之所以接触docker,第一个是听一位开发的朋友说,可以解决tomcat问题,第二个是学习docker
引用知乎一位朋友的话,他的名字叫刘允鹏:
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
1.不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。
2.你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。
3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
总之docker就是集装箱原理。
谈谈安装遇到的问题,主要是关于镜像。
在我安装的时候出现了不少错误,主要是关于镜像问题
所以如果出现关于镜像的问题,可以采取以下的措施解决:
(1)首先备份原来的镜像
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
(2)获取阿里云的镜像并一移至到镜像目录下
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装措施和流程如下所示:
前提:注意linux环境是centos7
安装docker流程如下:
(1)安裝相关的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
(2)添加阿里云的docker镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(3)将服务器的信息快速下载到本地缓存
yum makecache fast
(4)安装docker
yum -y install docker-ce
(5)启动docker
service docker start
(6)查看docker版本信息就和安装jdk查看版本信息一样
docker version
(7)开机自启动
systemctl enable docker
关于docker后期学习,我会不定时跟大家分享的。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
docker创建mysql
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80426717 docker create --name mysqlsrvl -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql docker start mysqlsrvl docker exec mysqlsrvl env 运行完就删掉 docker exec -it mysqlsrvl /bin/bash 进入容器
- 下一篇
再次升级!阿里云Kubernetes日志解决方案
背景 针对K8S日志采集存在的采集目标多、弹性伸缩难、运维成本大、侵入性高、采集性能低等问题,在18年2月份日志服务和容器服务团队一起发布了阿里云Kubernetes日志解决方案。1分钟内即可完成整个集群部署,实现该节点上宿主机日志、容器日志、容器stdout等所有数据源的一站式采集。并且后续集群动态伸缩无需对采集做任何二次部署。 今天阿里云Kubernetes日志解决方案再次升级,为您带来以下改进: 极致部署体验:只需一条命令一个参数即可完成整个K8S集群的日志解决方案部署。 支持更多配置方式:除原生控制台、SDK配置方式外,支持通过CRD方式进行配置(kubectl、控制台、K8S openapi)。 K8S无缝集成:采集配置支持yaml方式部署,兼容K8S各种集成方式。 日志服务介绍 阿里云的日志服务(log service)是针对日志类
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8