Docker

2023-09-22 07:05:17

前言:

📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年!

📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。

😇😇😇有兴趣的话关注博主一起学习,一起进步吧!

一、初识Docker

1.1项目部署的问题

大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:

1.依赖关系复杂,容易出现兼容性问题

2.开发、测试、生产环境有差异

Docker如何解决依赖的兼容问题的?

1.将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包

2.将每个应用放到一个隔离容器去运行,避免互相干扰

操作系统:

  • 内核与硬件交互,提供操作硬件的指令
  • 系统应用封装内核指令为函数,便于程序员调用
  • 用户程序基于系统函数库实现功能

为什么Ubuntu系统的应用不能在Centos系统中运行呢?

UbuntuCentOS都是基于Linux内核,只是系统应用不同,提供的函数库有差异

 Docker如何解决不同系统环境的问题?

1.Docker将用户程序与所需要调用的系统(比如Ubuntu)函数库一起打包

2.Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行

Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?

1.Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像

2.Docker应用运行在容器中,使用沙箱机制,相互隔离

Docker如何解决开发、测试、生产环境有差异的问题

1.Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行

总结:

        Docker是一个快速交付应用、运行应用的技术:

1.可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统
2.运行时利用沙箱机制形成隔离容器,各个应用互不干扰
3.启动、移除都可以通过一行命令完成,方便快捷

 1.2Docker与虚拟机

虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行 Ubuntu 系统,这样就可以运行任意的Ubuntu应用了。

总结:Docker和虚拟机的差异:

1.docker是一个系统进程;虚拟机是在操作系统中的操作系统

2.docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般

1.3镜像和容器

镜像(Image

更多推荐

2023常用的原型设计软件推荐

美观易操作的产品原型可以帮助团队构建积极的用户体验,帮助团队理解产品交互逻辑。因此,可互动、易修改的产品原型设计对产品的点击率和回访率具有重要意义。选择专业的产品原型设计工具,可以为团队和企业带来高效的产品设计体验。本文选择了四种产品原型设计工具,可以为实际工作带来方便。让我们看看。即时设计即时设计是国内首款专业级的U

SpringBoot

SpringBoot1.概念和介绍Spring用于简化Java程序的开发,而SpringBoot为了简化Spring程序开发。SpringBoot是Spring脚手架。可以快速完成Java程序的创建、提高开发效率等。SpringBoot的优点:快速集成框架,提供启动依赖的功能,可以集成各种框架。内置了运行容器、无需配置

酷开科技,让家庭娱乐生活充满激情

近几年,随着智能电视在家庭生活中的广泛应用,让人们的家庭娱乐生活有了更多的选择,但随之而来的是消费者的需求也在不断地升级,个性化、细分化的需求趋势越加凸显。而酷开科技正是抓住了这个机遇,不断赋能家庭娱乐生活场景,获得了更多消费者的青睐。与此同时,酷开科技凭借自身包容的开放生态体验,以及为消费者提供更丰富、更多元的内容,

C++实现观察者模式(包含源码)

文章目录观察者模式一、基本概念二、实现方式三、角色四、过程五、结构图六、构建思路七、完整代码观察者模式一、基本概念观察者模式(又被称为模型(Model)-视图(View)模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供

网络编程.

网络编程就相当于通过网络进行数据的传输,可以传给别人,不仅限于自己;常见软件架构BS优点1.不需要开发客户端,只需要页面+服务器2.不用下载缺点如果应用过大cs优点1.画面精美缺点1.客户端,服务端都要开发三要素:IP设备在网络中的地址,是唯一的标识端口号应用程序在设备中唯一的标识协议数据在网络中传输的规则,常见的协议

解锁网络世界的利器:代理IP与Socks5代理

随着跨界电商、爬虫、网络安全和游戏等领域的不断发展,网络工程师们正面临着越来越多的挑战和机会。在这个信息爆炸的时代,如何更有效地访问、保护和探索网络资源成为了网络工程师们的首要任务。本文将重点介绍代理IP和Socks5代理,它们是网络世界的利器,为网络工程师提供了强大的工具来应对各种技术挑战。代理IP的妙用代理IP是一

海外代理IP是什么?如何使用?

一、海外代理IP是什么?首先,代理服务器是在用户和互联网之间提供网关的系统或路由器。它是一个服务器,被称为“中介”,因为它位于最终用户和他们在线访问的网页之间。海外IP代理是就是指从海外地区获取的IP地址,用于将互联网连接路由通过位于不同国家或地区的服务器。这种代理服务允许用户隐藏其真实的地理位置,并获得访问其他国家或

HTTP Tunnel与后门攻击

后门攻击是指利用隐藏在系统中的漏洞或者特殊设计,以获取未授权的访问权限或者绕过安全控制的攻击方式。通过后门攻击,攻击者可以在受感染的系统上进行非法操作、窃取敏感信息或者控制系统。后门攻击可以采用多种形式,其目的都是为了绕过安全机制并获取非法访问权限。主要形式的后门攻击有以下几种:软件后门:攻击者在软件中嵌入恶意代码或漏

预防API漏洞简述

随着对网络应用程序和数字平台的日益依赖,应用程序编程接口(API)的使用变得越来越流行。如果你不熟悉这个术语,API允许应用程序相互通信,它们在现代软件开发中发挥着至关重要的作用。然而,API使用量的增加也导致了API违规数量的增加。当未经授权的个人或系统访问API及其包含的数据时,就会发生这些违规行为。受害者可以证明

基于安卓Java试题库在线考试系统uniapp 微信小程序

本文首先分析了题库app应用程序的需求,从系统开发环境、系统目标、设计流程、功能设计等几个方面对系统进行了系统设计。开发出本题库app,主要实现了学生、教师、测试卷、试题、考试等。总体设计主要包括系统功能设计、该系统里充分综合应用Mysql数据库、JAVA等相关知识。网页界面的构成,具备简单易懂、便捷等特征。设计过程中

什么是Vue的keep-alive组件?有什么作用

Vue的<keep-alive>组件:优化性能和缓存组件Vue.js是一款流行的JavaScript框架,用于构建现代化的前端应用程序。在Vue中,有一个强大的组件叫做<keep-alive>,它用于缓存和重用组件,从而提高应用程序的性能。本文将深入介绍Vue的<keep-alive>组件,解释它的作用和如何使用它。什

热文推荐