docker小白第一天

docker小白第一天

docker是什么

系统平滑移植,容器虚拟化技术。即源代码+配置+环境+版本,打个包形成一个镜像文件,即软件带环境一起安装,通过docker引擎,在安装的时候,把开发的原始环境一模一样的复制过来完成运行。

docker理念

一次镜像、处处运行。在linux容器技术的基础上发展起来的。将应用打包成镜像,通过镜像成为运行在Docker的容器上面的实例,而docker在任何操作系统上都是一致的。

容器与虚拟机比较

虚拟机就是带环境安装的一种解决方案,可以在一种操作系统里边运行另一种操作系统,比如windows10系统里边运行linux系统centos7。

Linux容器不是模拟一个完整的操作系统而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

Docker 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统虚拟机则是在硬件层面实现虚拟化。与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。

容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。

docker能干什么

  • 更快速的应用交付和部署
  • 更便捷的升级和扩缩容
  • 更简单的系统运维
  • 更高效的计算资源利用
    随着微服务架构和Docker的发展,大量的应用会通过微服务方式架构,应用的开发构建将变成搭乐高积木一样,每个Docker容器将变成一块"积木",应用的升级将变得非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速扩容,使应用系统的扩容从原先的天级变成分钟级甚至秒级。
    官网:docker官网:docker官网
    仓库:Docker Hub官网:docker仓库

docker官网介绍

  • Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux内核环境。Docker实质上是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的Linux主机。Docker 必须部署在 Linux内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux环境。
  • 前提条件:目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS 7(64-bit)上,要求系统为64位、Linux系统内核版本为3.8以上,常规选用Centos7.x。
    查看linux内核版本号:cat /etc/redhat- release
    查看系统架构:uname -r

docker的基本组成

从面向对象的角度:

镜像(image)类似于java中的类

容器(container)类似于java中的对象

仓库(repository)集中存放镜像文件的场所

从镜像容器角度

可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

docker平台架构

Docker是一个Client-Server结构的系统,Docker引擎,即守护进程运行在主机上,然后通过Socket连接从docker客户端访问,守护进程从docker客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境。

相关推荐
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林2 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€3 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘3 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布3 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg3 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全