美文网首页
linux运维之Docker基础(一)

linux运维之Docker基础(一)

作者: 你好树洞先生 | 来源:发表于2019-12-06 14:46 被阅读0次

    关于Docker容器:

    1.什么是容器?

    容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁,

    隔离的环境拥有自己的系统文件,ip地址,主机名等

    2.关于容器的一些名词:

    kvm 虚拟机,linux,系统文件

    程序:代码,命令

    进程:正在运行的程序

    3.容器和虚拟化的区别:

    1)linux容器技术,容器虚拟化和kvm虚拟化的区别

    2)kvm虚拟化:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程).

    linux开机启动流程:

    bios开机硬件自检

    根据bios设置的优先启动项boot 网卡 硬盘 u盘 光驱

    读取mbr引导 UEFI(gpt分区) mbr硬盘分区信息,内核加载路径

    加载内核

    启动第一个进程init systemd

    系统初始化完成

    运行服务

    ...

    容器启动流程:

    共用宿主机内核:

    第一个进程,服务nginx,httpd,mysql

    容器:共用宿主机内核,容器的第一个进程直接运行服务,轻量级,

    损耗少,启动快,性能高。

    容器虚拟化:不需要硬件的支持,不需要模拟硬件,共用宿主机的内核,

    启动时间秒级(没有开机启动流程).

    注意:容器只能在linux系统上使用。

    总结:

    (1)与宿主机使用同一个内核,性能损耗小;

    (2)不需要指令级模拟;

    (3)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;

    (4)避免了准虚拟化和系统调用替换中的复杂性;

    (5)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。

    4.docker服务的特点:

    (1)Docker是通过进程虚拟化技术(namespaces及cgroups cpu、内存、磁盘io等)

    来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化

    实现隔离,所以Docker容器在运行时,不需要类似虚拟机(vm)额外的操作系统开销,

    提高资源利用率。

    名称解释:

    namespace  资源隔离

    cgroups  进程的资源限制

    kvm      虚拟磁盘文件,资源隔离

    kvm      资源限制,--cpus --memory

    docker 初级把lxc二次开发,libcontainer

    (2)Docker的主要目标:

      “Build,Ship and Run any App,Angwhere”,构建,运输,处处运行部署服务,环境问题

      一次构建,处处运行

      docker是一种软件的打包技术。

    (3)docker解决的问题:

        docker解决了软件和操作系统环境之间的依赖,能够让独立服务或应用程序在不同的环境中,得到相同的运行结果。

        docker容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

    开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。

    5.关于Docker的安装:

    1)进入主机配置文件,添加一台docker

    ~]# vim /etc/hosts

    192.168.13.1 docker01

    2)在清华源上下载镜像:

    https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/

    3)根据你的发行版下载repo文件:

      wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

    4)把软件仓库地址替换为 TUNA:

      sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

    5)最后安装:

      sudo yum makecache fast

      sudo yum install docker-ce

    6)docker的主要组成部分

    docker是传统的CS架构分为docker client和 docker server,向mysql一样。

    docker是go语言开发的,C/S架构。

    7)docker主要组件有:镜像、容器、仓库、网络、存储。

    启动容器必须需要一个镜像,仓库中只存储镜像

    容器--镜像--仓库

    相关文章

      网友评论

          本文标题:linux运维之Docker基础(一)

          本文链接:https://www.haomeiwen.com/subject/afkegctx.html