• docker的介绍和安装


    docker的介绍和安装

    1、docker是什么

         docker是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    2、为什么要用docker

         在没有用docker之前,我们需要在本地,测试,线上部署相同的环境,相同的软件每个环境都要安装一次,很麻烦且过于重复。docker可以完美的解决这个问题。

         用docker之后我们只需要在本地,测试,线上分别安装相同的docker,然后在本地搭建环境,将搭建好的环境容器生成docker镜像,只要将这个docker镜像提供给测试和线上即可构建出相同的环境,在代码部署上我们可以利用docker数据卷将本地项目目录文件直接挂载到测试环境中。

    3、docker的原理

         docker是利用Linux内核虚拟机化技术(LXC),提供轻量级的虚拟化,以便隔离进程和资源。LXC不是硬件的虚拟化,而是Linux内核的级别的虚拟机化,相对于传统的虚拟机,节省了很多硬件资源。

         docker具备两项核心技术:Namespace和Control Group

         1)Namespace(实现资源隔离)

         LXC是利用内核namespace技术,进行进程隔离。其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。因此,容器与容器之间是隔离的。

         2)Control Group(实现资源限制)

         LXC利用的宿主机共享的资源,虽然用namespace进行隔离,但是资源使用没有收到限制,这里就需要用到Control Group技术,对资源使用进行限制,设定优先级,资源控制等。

    4、内核支持

         CentOS系统的话,建议是使用3.10版本以上,一般使用CentOS7即可。当然如果是Ubuntu/Debian/Deepin系列的发行版本也是支持操作系统必须是64位

         Linux查看版本当前操作系统内核信息 uname  -r 或者 cat /proc/version

     

         说明:i386 代表 32 位的 CentOS6,x86_64 代表 64 位

    5、docker的安装

    1)安装依赖

    docker依赖于系统的一些必要的工具,可以提前安装。

     yum install -y git vim gcc glibc-static telnet bridge-utils net-tools

    2)添加软件源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    3)安装docker-ce

    yum clean all yum makecache fastyum -y install docker-ce

    4)启动服务

    通过systemctl启动服务:systemctl start docker

    设置开机启动docker:systemctl enable docker

    5)查看安装版本

    使用docker version查看一下当前的版本

     

    6、更换源

          使用 docker 拉取 Docker Hub 上镜像时,可能会由于网络限制,导致下载失败。可以将 docker 的镜像源设置为国内的镜像

          1)修改 daemon 配置文件/etc/docker/daemon.json来使用加速器

     

        

     1 {
     2  "registry-mirrors":[
     3    "http://yxs0oar5.mirror.aliyuncs.com",
     4    "http://registry.docker-cn.com",
     5    "http://docker.mirrors.ustc.edu.cn",
     6    "http://hub-mirror.c.163.com"
     7  ],
     8  "insecure-registries":[
     9   "registry.docker-cn.com",
    10   "docker.mirrors.ustc.edu.cn"
    11  ]
    12 }

       2)重载守护进程文件,重启docker

       sudo systemctl daemon-reload
       sudo systemctl restart docker

      3)查看加速器是否生效

      docker info

     

     

     

  • 相关阅读:
    easyui combobox 的取值问题
    关于Java中集合的讲解~
    面试中经常会被问到的70个问题
    80端口被NT kernel & System 占用pid 4
    java中try{}catch{}和finally{}的执行顺序问题
    Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)
    String,StringBuffer和StringBuilder三者的讲解
    String是基本的数据类型吗?
    jdk中那些常见的类不能被继承的
    关于java中getClass()和getSuperClass()的讲解
  • 原文地址:https://www.cnblogs.com/hld123/p/12730945.html
Copyright © 2020-2023  润新知