• Docker (1) 基本概念和安装


    Docker简介

    Docker是一种容器技术,解决软件跨环境迁移问题

    诞生于2013年,基于GO语言实现,dotCloud公司出品(后改名为Docker Inc)

    Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行到linux机器上。

    容器是完全使用沙箱机制,互相隔离

    容器性能开销极地。

    Docker 可以运行在windows、mac、linux等操作系统上


    Docker的安装

    官网地址:https://docs.docker.com/install/

    mac版本 直接下载.dmg版本的安装包 拖进application即可

    linux版本 
    使用yum安装 查看是否已安装

    yum list installed | grep docker

     安装docker -y 不询问一直安装 安装成功后再次查看列表

    yum -y install docker

    启动docker

    systemctl start docker

    查看docker服务状态

    systemctl status docker

    查看docker 版本

    docker -v

    Docker的基本组成

    Docker是C/S架构的程序, 由下面三部分组成:

      Docker Client 客户端:Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon(守护进程 服务端)

      Docker Daemon 守护进程:Docker 守护进程,也就是Server端,Server端可以部署在本地,也可以部署在远程,因为Server端与客户端是通过Rest Ful API进行通信的。

      Docker Image 镜像:镜像是一个层叠的只读文件,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container,镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。

      Docker Container 容器:容器是Dcoker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。容器基于镜像启动和运行。

      Docker Registry 仓库:共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为:https://registry.hub.docker.com/ 也可以搭建自己私有的Docker registry

    Docker的优点

      Docker提供了一种可移植的配置标准化机制,允许你一致性地在不同的机器上运行同一个Container,而LXC(Linux Container)本身可能因为不同机器的不同配置而无法方便的移植运行。

        Docker以App为中心,为应用的部署做了很多优化,而LXC的帮助脚本主要是聚焦于如何使机器启动地更快和小号更少的内存。

      Docker为App提供了一种自动化构建机制(Dockerfile),包括打包,基础设施管理和安装等。

      Docker提供了一种类似git的Container版本化的机制,允许你对你创建过的容器进行版本管理,依靠这种机制,你还可以下载别人的Container,甚至像git那样合并。

      Docker Container 是可重用的,依赖于版本化机制,你很容易重用别人的Container,作为基础版本进行扩展

      Docker Container 是共享的,有点类似github一样,Docker有自己的Index,你可以创建自己的DOcker用户并上传和下载Docker Image

      Docker提供了很多的工具链,形成了一个生态系统,这些工具的目标是自动化、个性化和集成化,包括对PASS平台的支持等。

      速度快:运行时的性能可以获取极大提升,管理操作(启动、停止、开始、重启等)都是以秒为单位的,将应用和系统容器化,不添加额外的操作系统。

      敏捷:比VM小,比VM快,Docker容器的尺寸减小相比整个虚拟机大大简化了分布到于和仍与分发灵活。

      轻量:你会拥有足够的操作系统,仅需添加或减小镜像即可。在一台服务器上可以部署100~1000个Containers容器。

      便宜:开源的、免费的、低成本的。由现代Linux内核支持驱动,轻量的Container必定可以再一个物理机上开启更多容器,注定比VM要便宜。

    镜像加速

    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

    linux centos 7 配置如下

    #创建文件夹
    mkdir -p /etc/docker
    #编辑配置文件
    vim /etc/docker/daemon.json 
    #内容为:
    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    #重启
    systemctl daemon-reload
    systemctl restart docker
    
    #查看是否生效
    docker info


    $ docker info

    ...

    Registry Mirrors:

        http://hub-mirror.c.163.com

    ...

    mac 配置如下

    {
      "experimental": false,
      "debug": true,
      "registry-mirrors":[
         "http://hub-mirror.c.163.com"
      ]
    }

    点击apply & restart 一下之后我们可以通过 docker info 来查看是否配置成功。




  • 相关阅读:
    QQ下面功能移动效果
    网页中选择功能
    自定义listview
    android的内存优化分析【转,超级推荐】
    animation的xml定义中的android:interpolator属性(转)
    HOME键与Notification配合使用的bug重现【原创】
    (转载)Android下Affinities和Task(开发者指南)
    职场加薪步步高升的五大法则(转)
    强引用,软引用和弱引用。
    更改字体的ttf。
  • 原文地址:https://www.cnblogs.com/baidawei/p/9198308.html
Copyright © 2020-2023  润新知