Docker学习笔记(1)- Docker基本信息

server/2024/10/18 16:34:20/

1. Docker出现的原因

  1. 一款产品从开发到上线,一般至少有开发 /线上 两套环境!每套环境的配置都不同。
  2. 开发与运维之间的难题:我在自己电脑上可以运行,版本更新导致服务不可用……
  3. 分布式系统的环境配置十分麻烦,每一台机器都要部署环境(集群Redis、ES、Hadoop……)
  4. 发布一个项目(jar包 + Redis\Mysql\jdk\ES…),项目带上环境安装打包
  5. 之前在服务器上配置一个应用环境 Redis、jdk、ES、Hadoop,配置十分麻烦,且不能够跨平台

Docker给以上问题提出了解决方案!!

流程:java项目 → jar包+环境 → 打包项目带上环境(镜像) → 发布到Docker仓库(商店) → 下载发布的镜像 → 直接运行即可

Docker的思想来源于集装箱,通过隔离机制,可以将服务器利用到极致。

在这里插入图片描述
(Docker是基于Go语言开发的)

官网:https://www.docker.com/

文档:https://docs.docker.com/get-started/overview/

DockerHub:https://hub.docker.com/

2.Docker 能做什么?

虚拟机技术
在这里插入图片描述
虚拟机技术存在的缺点:1.资源占用非常多;2.冗余步骤多;3.启动很慢

容器化技术

容器化技术不是模拟一个完整的操作系统!!
在这里插入图片描述

比较Docker和虚拟机技术的不同:

  1. 传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  2. 容器内的应用是直接运行在宿主机的内核,容器是没有自己的内核,也没有虚拟硬件,所以轻便
  3. 每个容器间是相互隔离的,每个容器内都有一个属于自己的文件系统,互不影响

http://www.ppmy.cn/server/132801.html

相关文章

python 使用faker库 生成数据 -001

Welcome to Faker’s documentation! — Faker 30.3.0 documentationVersion1: Example from docs:from faker import Faker from faker.providers import internet for i in range(2): #批量生成数据fake Faker()name fake.name()address fake.address()text f…

php常用设计模式之工厂模式

引言 在日常开发中,我们一些业务场景需要用到发送短信通知。然而实际情况考虑到不同厂商之间的价格、实效性、可能会出现的情况等 我们的业务场景往往会接入多个短信厂商来保证我们业务的正常运行,而不同的短信厂商(如阿里云短信、腾讯云短信…

React入门(1)——我的第一个React.js项目

创建日期: 2020年2月22日 官网 中文官方文档 React入门系列 目录导引 一.使用create-react-app命令创建 React 官方提供了一个脚手架用于初始化React项目,使用 create-react-app 可以简化手动设置流程。 官方网站的 Tutorial 也是以此为例。 注意:项目命…

C# Json文件写入、读取 ,Json文件序列化、反序列化

在C#中,处理JSON文件的写入、读取、序列化和反序列化是一个常见的需求,特别是在需要与前端JavaScript应用进行数据交换或配置文件管理的场景中。下面将分别介绍如何使用.NET自带的System.Text.Json命名空间(从.NET Core 3.0开始引入&#xff…

【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!

目标服务器安装openssh server参考 【Windows】【DevOps】Windows Server 2022 在线/离线 安装openssh实现ssh远程登陆powershell、scp文件拷贝-CSDN博客 注意:Ansible不支持Windows操作系统部署 根据官方说明: Windows Frequently Asked Questions —…

Android从上帝视角来看PackageManagerService

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章,技术文章也可以有温度。 前言 阅读该篇之前,建议先阅读下面的系列文章: Android深入理解包管理–PackageManagerService和它的“小伙伴…

vim 12种模式的切换、常用命令集合

开发工具 每当别人问你: 💦你在什么环境下写代码、调试、编译、链接代码? 🧑🏿Visual Studio 2022。VScode。IntelliJ IDEA。Eclipse… 对于上面这种环境,我们称之为集成开发环境(IDE&#xf…

RHCE【时间服务器】

目录 NTP服务简介: Chrony简介: 一、软件安装 二、配置时间服务器 三、配置时间服务器的服务端和客户端,并使客户端与服务端的时间进行同步 (1)服务端配置: (2)客户端配置: &…