• Docker学习笔记一:Ubuntu16.04环境下安装Docker


    很多公司都在用Docker做自动打包和发布,打算用最近一周时间学习下,并将学习的过程和踩到的坑做一个记录。方便后面有疑问的时候可以直接查阅。

    其中概念性的描述和操作步骤主要摘抄、参考w3cschool(https://www.w3cschool.cn/docker/docker-tutorial.html

    一、Docker简介

    Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

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

    容器完全使用沙箱机制,互相之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。

    Docker的应用场景

    • Web应用的自动打包和发布
    • 自动化测试和持续集成、发布
    • 在服务型环境中部署和调整数据库或其他的后台应用
    • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境

    Docker的优点

    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    Docker架构

    Docker包括三个基本概念:

    • 镜像(Image):  Docker镜像就相当于一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。
    • 容器(Container): 镜像和容器的管子,就想面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行的实体。容器可以被创建、启动、停止、删除、暂停等,
    • 仓库(Repository): 仓库可看作一个代码控制中心,用来保存镜像。

    Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。

    Docker容器通过Docker镜像来创建。

    容器与镜像的关系类似于面对对象编程中的对象与类,可以把容器看作对象,镜像看作类。

    二、Ubuntu16.04安装Docker

    1.Docker要求Ubuntu系统的内核版本高于3.10

    uname -r

    通过上面的命令可以查看当前的内核版本

     2.安装

    (1)首先先切换到root账户

    sudo su

    (2)更新apt包索引

    apt-get update

    (3)允许apt通过https安装

    apt-get  install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
    software-properties-common

     (4)添加GPG秘钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
    apt-key fingerprint 0EBFCD88

    (5)设置稳定版仓库

    add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) 
      stable"

     (6)更新apt包索引

    apt-get update

    (7)安装最新版本的 Docker Engine-Community 和 containerd

    apt-get install docker-ce docker-ce-cli containerd.io

    (8)测试Docker是否安装成功

    docker run hello-world

     以上Docker就安装成功了。

    三、配置镜像加速器

    国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

    Docker官方提供的中国镜像库:https://registry.docker-cn.com

    在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

    {"registry-mirrors":["https://registry.docker-cn.com"]}

    之后重新启动服务:

    systemctl daemon-reload
    systemctl restart docker
  • 相关阅读:
    人们常说的带宽是什么意思?
    关注前端性能
    单测学习笔记
    基于 Istanbul 生成测试用例覆盖率报告
    如何做高水科研
    Human-like Controllable Image Captioning with Verb-specific Semantic Roles(具有动词语义角色的类人可控图像字幕生成)
    Netty应用程序的全部基本构建模块_netty学习笔记(2)-20210405
    异步和事件驱动_netty学习笔记(1)-20210330
    理解 cosocket(转)
    nginx lua阶段处理流程
  • 原文地址:https://www.cnblogs.com/daydayup-lin/p/11841448.html
Copyright © 2020-2023  润新知