虚拟机 docker,虚拟机centos上的docker启动tomcat无法访问?
1. 看看自己的虚拟机的网络模式
2. 宿主机ping下虚拟机看能否ping通。如果用宿主机访问虚拟机,宿主机里面虚拟机的网关段来ping虚拟机。
3. 另外确定自己的防火墙没有打开,如果打开了防火墙没开授信访问不了也是应该的。
Docker能取代虚拟化吗?
Docker能取代虚拟化吗?
答案是:不能。并且双方之间也不是对立的取代与被取代的关系,而更应该是互补合作的关系。
并非所有应用都适合用容器:比如传统的关系型数据库应用,则不是像容器场景中宣称的那样随时都可以随便重启的,而且,数据库的高可用也不是像Kubernetes那样挂一个服务发现就能解决的,而是应当使用数据库本身的高可用架构来实现以确保数据的可靠性和一致性!
容器是有自己十分具体的应用场景的,至少目前来看,在超出上述领域之外的其他传统应用分发、部署、运维管理中,容器并没有特别的优势,反而具备一定的劣势。场景化需求才是两种技术选择的关键。
总结下来,虚拟机和容器技术本身并不对立,也不存在谁取代谁的问题,关键是企业是否合理运用技术在合理的应用场景当中解决相应的技术问题,未来的企业级云平台也应该囊括对这些技术的支持,以满足企业对不同业务所需不同技术栈的灵活选择!
可以用docker代替虚拟机?
正面回答这个问题之前,先看看虚拟机和Dcoker的区别。
虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。举例说明:电脑上安装操作系统,比如我们安装了win10的操作系统;再往上安装虚拟机软件,比如我们常用的VirtualBox、VMWare,它们的作用是模拟计算机硬件;这样虚拟机模拟出来的操作系统了;在虚拟的操作系统中,安装所需的软件、组件等。比如我们在虚拟操作系统中安装JDK、Tomcat等;最后就是具体的应用了,也就是把应用部署到Tomcat中。
Docker:官方解释是开源的应用容器引擎。用人话解释一下:依然需要现在电脑上安装操作系统, 然后安装Docker容器的管理器,到了这一步,不需要自己安装JDK和Tomcat,而是由开发人员将素有的依赖和应用都被打包成了Docker镜像。例如,JDK、Tomcat、应用都被打包在了一起,运行在Docker容器里,容器和容器间是隔离的。总结一下虚拟机和Docker的区别:
从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。
Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。
Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。
虚拟机实现了操作系统之间的隔离,Docker算是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。
再正面回答一下“Docker可以代替虚拟机运行生产服务器么”?
Docker是可以用于生产环境的;但是Docker是有学习成本的,前期要踩不少的坑;如果没有容器集群管理工具的话,只用Docker的话,没有太大必要(人肉维护?开发和运维都会死的);虚拟机和Docker各有优势,很多企业都采用物理机上做虚拟机,虚拟机中跑Docker的方式。总之,要说Docker代替虚拟机还为时过早,至少短期内不会;我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。用虚拟机centos72二进制安装docker出现的问题?
1. 如果没有修改过配置,docker默认使用devicemapper作为存储驱动,这是没有问题的。但从你的问题描述看,是通过二进制安装docker,并且报错Udev sync is not supported,所以可能是二进制安装时缺少什么参数。
2. 通过搜索便知道,原因在于编译devicemapper时没有添加对udev sync的支持,执行如下命令重新编译:
因为udev没有可用的静态链接库,而devicemapper依赖于udev,所以只能编译devicemapper的动态链接库,进而编译docker。
3. 通过报错提示(Install a dynamic binary to use devicemapper or select a different storage driver)可以知道,除了安装一个动态链接库外,还可以选择其他的存储驱动,比如在CentOS上比较推荐的overlay2。
4. 使用overlay2的方式也非常简单:修改配置文件daemon.json,重启docker即可。
双系统虚拟机docker?
楼主说的是用于机器学习。机器学习在进行模型训练时,需要占用大量CPU,GPU。
首先docker,虚拟机排除掉。因为这两者对于本地GPU的兼容性不好。VMWARE虚拟机最新版有一个驱动支持本GPU。
其次Linux,选择哪个版本很重要。个人使用,选择ubuntu比较多;服务器使用centos多。最好看一下你的电脑厂商,是不是提供了面向ubuntu的驱动程序,这样的话,在ubuntu下才能最大化发挥你电脑的硬件性能。
最后只有双系统。好处就是:一般厂商对于windows的驱动较全且更新较快,windows下进行跑训练集能发挥硬件性能。补充一下:适配驱动也很重要。
-----
所以,选择什么系统,还是要看你的显卡驱动对于哪个系统支持最好。因为,只有用上了GPU才能更快的把算法跑起来。
我是一名Java全栈开发工程师、系统架构师,从业15年。曾带领小团队完成多个数百万级项目。我正在写一些关于互联网行业及开发技术方面的文章,关注我,你一定会有所收获。
如果有项目开发、行业及求职方面的问题,都可以在评论区留言或私信我。(关注后私信我,向你免费分享行业级学习资料)