所以,不要为了 docker 而 docker;如果你们的项目环境配置复杂,每来一个新人配置环境都需要一两天;每次提测和上线,经常问题都是运行环境的问题;开发人员的开发环境不统一;开发能力强,运维能力弱的时候,甚至公司比较穷,想实现资源使用的最大化,都可以考虑使用 docker,不过像要做微服务化 容器化,当容器集群规模比较大的时候,还需要工具做容器的自动化管理和编排,自动化测试及部署等等。
docker容器与虚拟机有什么区别?
谢邀~我们单位最近在推docker,已经在开发测试环境使用(稍显落后),下面我就谈谈自己的Docker的理解,以及Docker和虚拟机的区别。虚拟机先说说什么是虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。说起来有些绕,那么我们看看虚拟机的架构图,就容易理解了。
例如我们要在一台物理机器运行三个Java项目,彼此之间隔离。从下往上看,解释起来其实很简单:最下面的一层就是物理机,可以是服务器,设置是一台个人电脑;电脑上需要安装操作系统,比如我们安装了win10的操作系统;再往上就是虚拟机软件了,比如我们常用的VirtualBox、VMWare,它们的作用是模拟计算机硬件;继续向上,就是虚拟机模拟出来的操作系统了;在虚拟的操作系统中,安装所需的软件、组件等。
比如我们需要在虚拟操作系统中安装JDK、Tomcat等;最后就是具体的应用了,例如部署到Tomcat中。Docker再说说什么是Docker,找了一句官方的解释:Docker是开源的应用容器引擎。是不是又一头雾水?我们还是先看看Docker的架构图。依然从下往上看:最下面两层,概念同上。往上,可以看做Docker容器的管理器。
依赖和应用都被打包成了Docker镜像。例如,JDK、Tomcat、应用都被打包在了一起,运行在Docker容器里,容器和容器间是隔离的。这里提示:Linux支持Docker,Windows和MacOS的话,不直接支持(win10专业版好像可以直接支持,不过我都是安装Linux的虚拟机,在上面跑Docker)。
Docker和虚拟机的区别从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。
虚拟机实现了操作系统之间的隔离,Docker算是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。虚拟机和Docker各有优势,不存在谁替代掉谁的问题,很多企业都采用物理机上做虚拟机,虚拟机中跑Docker的方式。我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
你用docker做过什么好玩或者有逼格的事情?
使用 Docker 搭建 Jenkins python3 seleniumhelium 项目项目背景用 python3 在本地写了一个项目,这个项目采用 helium selenium chrome 进行界面操作,代码放在 gitee 上托管。现在基本功能已经实现,想在 Linux 服务器上部署项目代码,实现自动构建。
自动构建解决方案自动构建工具选型:jenkins中间件选型:docker代码运行环境:python3脚本运行工具:Chrome 浏览器、chromedriver、helium 库Ⅰ、安装 dockerLinux 系统中安装 dockercurl -fsSL https://get.docker.com 。
在个人电脑(非服务器)上中重度使用docker是什么体验?
不是什么很好的体验。本人运维一个,现在服务器上重度使用docker。然而,问题还是存在很多,因为每个images其实都是别人部署好的小型服务器。那么你使用别人的images问题就来了。各位或多或少使用过别人的电脑的,都有得痛处。文件存放的习惯!!怎么把logs挂载出来,怎么把配置文件保存出来,这都是需要对容器的熟悉程度。