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客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境。

相关推荐
念风18 小时前
[Linux学习笔记]Uboot-DM的分析过程
linux
想唱rap18 小时前
计算机网络基础
linux·计算机网络·mysql·ubuntu·bash
风向决定发型丶18 小时前
K8S PDB介绍
云原生·容器·kubernetes
fetasty18 小时前
chroot的Linux服务配置-当云服务器真正用起来
android·linux·服务器
翱翔-蓝天18 小时前
WSL + Docker + GPU 安装 video-subtitle-remover 完整文档
运维·docker·容器
江湖有缘18 小时前
PanCheck 容器化部署:自建网盘链接检测服务全流程
docker
BullSmall18 小时前
linux 系统下模拟网络丢失和ping延迟,可以怎么来模拟
linux·网络·php
brahmsjiang19 小时前
理解Android AOT编译与内存映射:从Zygote启动到页表权限隔离
android·linux·zygote
亚空间仓鼠19 小时前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑19 小时前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习