镜像理论

在docker中用Tomcat运行web项目

我的梦境 提交于 2020-01-05 00:38:39
本文旨在用最通俗的语言讲述最枯燥的基本知识 上一篇文章《为什么要用docker》已经讲述了什么是docker以及我们要用docker的原因,并且讲解了如何安装docker。这时候很多读者磨拳擦脚跃跃欲试但却发现安装好docker之后就无从下手了,那么,接下来,小编会从以下方面讲述docker的一些基础知识,当然,理论都是生硬的,所以小编选取了javaweb项目中最常用的一个软件--tomcat的安装和使用来引导学习一些docker相关的知识,借此让读者能够从实战的角度去理解docker为什么会有这些基础知识以及如何使用这些基础知识。 我们知道,web开发和部署离不开tomcat,而在目前的实际情况是: 一个项目中,每个开发者本机电脑都有自己的tomcat或者用idea的内置tomcat,当我们开发完成提交测试时,测试服务器上也有一个tomcat;当项目上线时,线上服务器也有一个tomcat,因此就很容易出现一些奇奇怪怪的问题,比如在同事A电脑上能正常运行的,到同事B电脑上就出问题的;或者是在测试环境里一切正常,到了线上bug一堆。这时候docker就有了用武之地,项目负责人把docker的tomcat镜像做好了之后上传到镜像仓库,项目成员的电脑环境、测试环境、线上环境均拉取这个tomcat使用,就能保持在所有的环境下tomcat的版本、设置都是一致的,避免了一些非技术的问题。 那么

[转载] docker终极指南

二次信任 提交于 2019-12-07 14:04:32
原文: http://dockerone.com/article/133 讲的非常清楚的一篇docker入门材料, 并且作者附带了详细的连接. Docker终极指南 【编者的话】Docker入门的好文章,之前在微博上就有很多人推荐,也是2015年的新文章,DockerOne作了翻译。本教程有三个目标:说明Docker解决的问题、说明它如何解决这个问题、以及说明它使用了哪些技术来解决这个问题,这不是一篇教你怎么运行安装Docker的教程。 Docker是一个相对较新且发展非常快速的项目,可用来创建非常轻量的“虚拟机”。注意这里的引号非常重要,Docker创建的并非真正的虚拟机,而更像是打了激素的chroot,嗯,是大量的激素。 在我们继续之前,我先说下,截至目前(2015年1月4日)为止, Docker只能在Linux上工作 ,暂不支持Windows或OSX(译者注:不直接支持)。我稍后会讲到Docker的架构,你会明白其中的原因。所以,如果想在非Linux平台上使用Docker,你需要在虚拟机里运行Linux。 本教程有三个目标:说明Docker解决的问题、说明它如何解决这个问题、以及说明它使用了哪些技术来解决这个问题。这不是一篇教你怎么运行安装Docker的教程, Docker 此类 教程 已经 有 很多 ,包括 Docker作者的在线互动教程 (译者注

Docker

给你一囗甜甜゛ 提交于 2019-12-02 10:51:39
虚拟化简介 计算机虚拟化(Computing Virtualization),一种资源管理技术,是指通过虚拟化技术将一台计算机的各种实体资源 , 如处理器 , 网络 , 内存及存储等 , 抽像 , 转换后呈现出来 , 打破实体结构间的不可切割的障碍,虚拟成多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。同一主机上运行多个系统或应用 , 从而提高系统资源的利用率 , 同时带来降低成本 , 方便管理和容错容灾。 虚拟化级别 ( 1)完全虚拟 -- 处理器密集型技术,因为它要求 hypervisor 管理各个虚拟服务器,并让它们彼此独立 (Vmware/Virtual PC) (2)准虚拟 -- 改动客户操作系统,让它以为自己运行在虚拟环境下,能够与 hypervisor 协同工作 (para-virtualization) (3)系统虚拟 -- 没有独立的 hypervisor 层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立

dokcer入门

守給你的承諾、 提交于 2019-11-28 19:24:03
背景 : 由于最近在做基于 Headless chrome + Robotframework + Docker +Jenkins 架构的 web 自动化测试的预研工作,其中涉及到 web 自动化持续集成,需要搭建自动化测试环境;在经历了很多痛苦的尝试后,发现以前服务器上的 Docker 镜像不再适用,无法满足目前的 web 自动化测试环境,所以着手学习下 Docker 并部署适用于项目的 web 自动化测试的镜像。 Docker 简介 一、什么是 Docker 定义 : Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。 功能 : Docker 可以让开发者打包他们的应用和依赖包到一个轻量级、可移植的容器中,然后发布任何流行的 Linux 机器上,也可以实现虚拟化。 机制 :容器完全是沙箱机制,相互之间不会有任何接口(类似于 iPhone 的 app ),更重要的是容器开销极低。 二、 Docker 的应用场景 1、web 应用的自动化打包和发布 2、自动化测试和持续集成、发布 3、在服务型环境中部署和调整数据库或其他的后台应用 4、 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PAAS 环境 Docker 架构 · Docker 使用客户端 - 服务器( C/S )架构模式,使用远程

Docker镜像基本理论概述

主宰稳场 提交于 2019-11-26 15:24:46
《 Docker镜像基本理论概述 》 前言 在前面进行了docker相关的常用命令进行了详细的介绍,接下来将进入Docker的镜像操作篇,通过本篇博客的学习,将对Docker镜像有一个基本的了解,什么是镜像?Docker镜像的加载原理是什么?Docker镜像为什么采用分层的这样一个结构?以及Docker镜像的特点有哪些? Docker之镜像操作 1、什么是 Docker 镜像 ? Docker 镜像是一种 轻量级 、 可执行 的 独立 软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。 2、UnionFS(联合文件系统) Union文件系统(UnionFS)是一种 分层 、 轻量级 并且 高性能 的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。 其特性具有:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来