首页 > 其他分享 >Doker学习01-Docker的基本概念

Doker学习01-Docker的基本概念

时间:2022-11-02 20:56:50浏览次数:85  
标签:容器 01 虚拟机 运行 镜像 Docker docker Doker

Doker学习01-Docker的基本概念

Docker概述

Docker出现的原因

一款产品有两个环境:开发(开发环境)和上线(运维环境)。

环境配置和切换过于麻烦,每一台机器都要部署环境(集群Redis,ES,Hadoop),费时费力。

解决思路:发布一个项目(jar+(redis+mysql+jdk+es))的同时能不能都带上环境安装打包?

传统思路:开发项目,运维部署项目和环境配置。

现在:开发打包部署上线,一套流程做完。

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

image-20210422110559011

Docker的思想来自于集装箱:通过特殊的隔离机制,将服务器利用到机制。

Docker历史

1.Docker诞生于2013年

2.Docker & LXC:Docker的第一个执行环境:LXC;但从0.9版本开始被Libcontainer取代

3.Docker & Libcontainer:Libcontainer为Docker封装了Linux提供的基础功能,如cgroups,namespaces,netlink和netfilter等

4.Docker & RunC: 2015年,Docker发布了RunC,一个轻量级的跨平台的容器运行;可以直接利用Libcontainer运行容器

5.Docker & OCI(The Open Containers Initiative): OCI是一个轻量级的开放式管理架构,由Docker,CoreOS和容器行业的其他领导厂商2015年建立,维护一些项目,制定容器运行的规范等

6.Docker & Containerd: 2016年,Docker分拆了Containerd,并将其捐献给了社区;使得Docker将容器的管理功能移出Docker的核心引擎并移入了一个单独的守护进程(containerd)

在容器技术出来以前,都是使用虚拟机技术,相比于虚拟机几个G,几分钟的启动时间,Docker做到了几个M甚至几KB的容量和秒级开启时间,这主要得益于它并不像虚拟机虚拟出操作系统或者内核,而是只保留了最核心的环境,十分的小巧。所有的程序员都必须要会docker!

Docker介绍

Docker是基于GO语言开发的开源项目!!

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

文档地址:https://docs.docker.com/

仓库地址:https://hub.docker.com/

image-20210422111746659

Docker与虚拟机的比较

虚拟机技术缺点:启动慢,占用资源多,冗余步骤多

Docker容器化技术:不是模拟出一个完整的操作系统。

总结:

  1. 传统虚拟机:虚拟出一系列硬件,运行一个完整的操作系统,然后在这个系统安装和运行软件

  2. 容器内的应用直接运行在宿主机上,容器没有自己的内核,也没有虚拟出硬件,所以十分轻便

  3. 每个容器是相互隔离的,每个容器都有一个属于自己的文件系统,互不影响。

Docker作用

可以实现了 DevOps(开发,运维)

  1. 应用更快速的交付和部署:打包镜像发布测试,一键运行

  2. 更便捷的升级和扩缩容:使用了Docker,部署应用就像搭积木一个,项目打包为一个镜像,方便扩展

  3. 更简单的系统运维:在容器化之后,开发和测试环境都是高度一致的。

  4. 更高效的计算资源利用:Docker是内核级别的虚拟化,可以在一个物理机上运行多个容器实例,容器的性能可以被压榨到极致。

Docker基本组成

架构图

image-20210221182251636

基本概念

  1. 镜像(image):docker镜像好比是一个模板,可以通过这个模板创建容器服务,tomcat镜像=》run》tomcat01容器,通过镜像可以创建多个容器(最终服务运行或项目运行就是在容器中的)

  2. 容器(container):docker利用容器技术,独立地运行一个或一组应用,通过image来创建。
    启动,停止,删除,基本命令
    目前就可以将容器理解为一个简单的Linux系统

  3. 仓库(repository):仓库是存放镜像的地方。有公有和私有仓库之分。
    Docker Hub(默认是国外的),阿里云。。。都有容器服务器(配置镜像加速)

主要内容

Docker安装配置和基本原理

Docker常用命令

Docker部署案例

Docker可视化工具

Docker镜像

Docker容器数据卷

Dockerfile

Docker网络

Docker Compose

标签:容器,01,虚拟机,运行,镜像,Docker,docker,Doker
From: https://www.cnblogs.com/sky123top/p/16852404.html

相关文章

  • Ubuntu安装Docker及镜像加速器
    一、安装Dockersudoapt-getupdate&&sudoapt-getinstall-yapt-transport-httpsca-certificatescurlsoftware-properties-common&&curl-fsSLhttps://downloa......
  • linux-01 CenOS和VM安装配置
    1.下载centos系统ISO镜像要安装centos系统,就必须得有centos系统软件安装程序,可以通过浏览器访问centos官网http://www.centos.org,然后找到Downloads -> mirrors链接,......
  • P8671 [蓝桥杯 2018 国 AC] 约瑟夫环 题解
    约瑟夫环有\(\mathcalO(n)\)做法相信大家都知道。这里就不在介绍了,这里给出一个不知道这个结论的\(\mathcalO(n\logn)\)简单做法。考虑直接模拟题意,每次循环往后数......
  • 20201317 LYX 第12章 块设备I/O和缓冲区管理
    第12章块设备I/O和缓冲区管理知识总结解释块设备I/O的原理和I/O缓冲的优点介绍Unix的缓冲区管理算法利用信号量设计新的缓冲区管理算法,以提高I/O缓冲区的缓存效率和......
  • docker
    一、概念docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布......
  • 洛谷 P1447 [NOI2010] 能量采集
    题目描述https://www.luogu.com.cn/problem/P1447栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后,栋栋再使用一个能......
  • 【408】2015
    t26限制用户申请资源的顺序其实是“死锁预防-破坏循环等待条件”的内容具体是:给系统资源编号,每个进程要按照编号递增的顺序申请资源死锁预防的其他两个方法破坏请求......
  • JavaWeb期中考试-2019年版总结
    关于这次2019年期中考试的练习,我想对它进行一个总结,首先,对于完全没有接触过javaweb的我来说,只是在课上听建民老师提了一下要做这个东西,因此在一开始只是先学着怎么画html......
  • 'ascii' codec can't encode character u'\u2018'
    我是在学习Python的图像识别时遇到了这个问题,应该是中文语言包里面的不兼容问题,这个问题,说白了,还是Python的转码问题,各个编码之间的不兼容,解决办法:代码开头加入:......
  • docker容器设置固定IP
    创建虚拟网桥dockernetworkcreate--subnet=172.127.0.0/24docker-br0 删除网桥dockernetworkrmdocker-br0 创建容器参数如下--network指定网桥--ip指定ip......