首页 > 其他分享 >docker

docker

时间:2023-04-11 19:56:51浏览次数:39  
标签:容器 虚拟化 虚拟机 镜像 docker Docker

目录

docker

docker的概念

什么是虚拟化

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用。

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

虚拟化模块

# kvm:开源的免费的  Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中
# exsi:vmware商用的,装在裸机上,可以虚拟化出很多机器
# openstack(python开发的,开源的):电信云,华为云 openstack  管理云平台
# 阿里云(自研,阿里飞天):云服务器,到一个网站,点点---》付款--》完成
# docker:容器技术
# k8s:多机容器管理,容器编排

docker是什么

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

Docker 项目的目标是实现【轻量级的操作系统虚拟化解决方案】。

Docker 的基础是 Linux 容器(LXC)等技术。

在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的【容器就像操作一个快速轻量级的虚拟机】一样简单。

为什么要用docker

  1. Docker 容器虚拟化的好处,通过容器打包应用解耦应用运行平台

  2. 更快的交付和部署

    使用 Docker,开发人员可以使用镜像来快速构建一套标准的开发环境

    开发完之 后,测试和运维人员可以直接使用完全相同的环境来部署代码

    只要是开发测试过的代码,就可以确保 在生产环境无缝运行

    Docker 可以快速创建和删除容器,实现快速迭代,节约开发、测试及部署的时间

  3. 更高效的利用资源

    运行 Docker 容器不需要额外的虚拟化管理程序的支持,Docker 是内核级的虚拟化,可以实现更高的性能

    同时对资源的额外需求很低,与传统的虚拟机方式相比,Docker 的性能要提高 1 ~ 2 个数量级

  4. 更轻松的迁移和扩展

    使用 Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作

    所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的容器管理

容器与虚拟机比较

作为一种轻量级的虚拟化方式,Docker 在运行应用上跟传统的虚拟机的方式相比具有如下显著优势

  • Docker 容器启动很快,启动和停止可以实现秒级,相比传统的虚拟机方式(分钟级)要快速很多
  • Docker 容器对系统资源需求很少,一台主机上可以同时运行数千个 Docker 容器
  • Docker 通过类似 git 设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新
  • Docker 通过 Dockerfile 支持灵活的自动化创建和部署机制,可以提高工作效率,并标准化流程

image

image

docker概念

Docker 中有三个核心概念:镜像、容器和仓库

① 镜像(Image)

Docker 镜像(Image),就相当于是一个 root 文件系统

比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统

② 容器(Container)

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静 态的定义,容器是镜像运行时的实体

容器可以被创建、启动、停止、删除、暂停等

③ 仓库(Repository)

用来保存镜像的仓库

当我们构建好自己的镜像之后,需要存放在仓库中,当我们需要启动一个镜像时, 可以在仓库中下载下来

# 1 docker 是cs架构  ,mysql,redis,c和s要通信,使用的http协议,符合resful规范
# 2 Docker镜像:镜像是基于一堆文件,相当于虚拟机装了操作系统,又装了软件的一堆文件
# 3 Docker容器:镜像运行起来,成为了容器,【当成一台虚拟机上面装了一些软件】
	- 类和对象的概念
    - 镜像是类---》生成多个对象
      
# 4 Registry(注册中心)
	-镜像从哪里来?
    	-注册中心中拉取下来

image

docker安装

# win:下个软件,一路下一步即可(讲课,真正做练习,不要使用它)
	-https://www.docker.com/products/docker-desktop/
    -一路下一步

# centos:建议你直接在虚拟机中安装
	# 先卸载
    yum remove docker docker-common  docker-selinux docker-engine
	rm -rf /var/lib/docker
    # 安装
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
	sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install docker-ce
    
    # 查看版本
    docker -v  # Docker version 23.0.3, build 3e7cbfd

# mac:一路下一步即可

标签:容器,虚拟化,虚拟机,镜像,docker,Docker
From: https://www.cnblogs.com/zhanglanhua/p/17307434.html

相关文章

  • docker-day1——docker介绍、docker安装
    目录一、docker介绍1.1什么是虚拟化1.2.1docker是什么1.2.2容器与虚拟机比较1.2.3Docker的一些概念1.2.3.1Docker服务器与客户端1.2.3.2Docker镜像与容器1.2.3.3Registry(注册中心)二、docker安装三、作业一、docker介绍1.1什么是虚拟化在计算机中,虚拟化(英语:Virtualiza......
  • 学习笔记396—自定义Docker镜像推送到Docker Hub实战
    自定义Docker镜像推送到DockerHub实战云原生探索的必经之路—容器化,而容器化目前最主流的技术莫过于Docker了,因为之前也大量的输出过Docker相关的技术博客,如果感兴趣的话可以直接访问专栏:​​《探索云原生》​​,按需学习哦。这篇文章还是从Docker入手,从0开始讲述下如何将自己的D......
  • 离线安装Docker、docker-compose、harbor、rancher、jenkins
    全文重点参考:https://blog.csdn.net/yuyangchenhao/article/details/117573732部署环境:1.centos72.ubuntu22.043.树莓派(这部分另写)离线环境下部署。0.前期准备  本文使用了上面博客提供的全部文件,可自行下载:https://pan.baidu.com/s/1Vp8R0Ac8KLHw2KlOiqtK8A......
  • 在docker安装Python环境提供给其他docker使用
    1.在宿主机新建一个目录2.在app目录下新建一个Dockerfile文件本文永久更新地址:1.在宿主机新建一个目录在宿主机上新建一个目录如app/,在app目录里面导入项目需要依赖的包在项目根目录下输入命令,导出python项目所有的依赖包pipfreeze>requirements.txt把导出的req......
  • 【Docker】docker介绍 什么是虚拟化 容器与虚拟机比较 Docker 概念 docker安装
    目录docker介绍什么是虚拟化docker是什么容器与虚拟机比较Docker概念docker安装docker介绍什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍......
  • Docker容器使用Flannel通信
    Docker使用Flannel跨主机通信通信的方式路由虚拟包头flannel网络概念Flannel是Docker提供的一种网络解决方案,它旨在为容器提供简单的IP地址管理和跨主机通信。Flannel使用了一些现有的技术,比如Linux内核的TUN/TAP接口和ETCD分布式键值存储,来实现容器之......
  • docker基础
    docker介绍什么是虚拟化?在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现......
  • docker 容器的数据卷
    一Docker数据卷简介1.1为什么用数据卷•宿主机无法直接访问容器中的文件•容器中的文件没有持久化,导致容器删除后,文件数据也随之消失•容器之间也无法直接访问互相的文件为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现:•容器与主机之间、......
  • CentOS安装Minio(rpm和docker方式)
    RPM方式:1、下载minio  中国镜像地址:https://dl.minio.org.cn/server/minio/。我下载的版本是:minio-20230407052858.0.0.x86_64.rpm2、安装rpm文件[email protected]:/home#将文件从windows复制到linux主机中rpm-ivhminio-2......
  • docker swarm 删除节点
    有时临时在dockerswarm集群上增加节点(node3),过后需要删除节点#获取node信息dockernodelsIDHOSTNAMESTATUSAVAILABILITYMANAGERSTATUSENGINEVERSIONj52o5frhmphiksqz0xq1mkbbh*node1......