• 首页

  • 归档
M i c h a e l 的 博 客
M i c h a e l 的 博 客

Michael

获取中...

01
04
ubuntu

docker简介及安装

发表于 2021-01-04 • docker • 被 19 人看爆
  • Docker 入门教程
  • 优势分析
  • Docker的思想
  • Docker的安装
  • 进程维护
  • 镜像加速
    • LINUX
  • Docker的中央仓库

Docker 入门教程

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

Docker 可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

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

优势分析

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

与虚拟机比较

  • 使用内核虚拟化技术速度更快
  • 系统资源占用少,一台主机上可以同时运行数千个 Docker 容器。
  • 起动速度秒级,而虚拟机分钟级
  • 硬盘占用更少,虚拟机是完整系统占用往往达到G级

Docker的思想

  1. 集装箱:
    a. 会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了
  2. 标准化:
    a. 运输的标准化:Docker有一个码头,所有上传的集装箱都放在了这个码头上,当谁需要某一个环境,就直接指派大海豚去搬运这个集装箱就可以了。
    b. 命令的标准化:Docker提供了一系列的命令,帮助我们去获取集装箱等等操作。
    c. 提供了REST的API:衍生出了很多图形化界面,Rancher。
  3. 隔离性:
    a. Docker在运行集装箱内的内容时,会在LInux的内核中,单独的开辟一片空间,这片空间不会影响到其他程序。
  4. 镜像:就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统
  5. 容器:容器是从镜像创建的运行对象,也是我们最终应用的场所。可以启动/删除/停止,容器间都是相互独立的,类似面向对象编程中的对象
  6. 仓库:类型于管理镜像的GITHUB,可以将镜像提交到仓库,供其他用户或其他平台轻松使用

Docker的安装

Docker支持很多种操作系统,例如:Ubuntu,CentOS,Windows;这里就简单的为大家讲解下Ubuntu下的安装和使用

为了安装方便,这里建议大家使用root账户

  1. 更新apt包索引

    sudo apt-get update
    
  2. 允许apt通过HTTPS安装

    sudo apt-get install \
         apt-transport-https \
         ca-certificates \
         curl \
         gnupg-agent \
         software-properties-common
    
  3. 安装Docker的官方GPG证书

    	curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 写入软件源信息

    sudo add-apt-repository \
       "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    
  5. 更新apt包索引。

    	sudo apt-get update
    
  6. 安装最新版本的Docker CE和containerd

    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  7. 通过运行hello-world 映像验证是否正确安装了Docker CE

    sudo docker run hello-world
    

70544-20190226100126073-1054637916

进程维护

  1. 停止、启动、重启docker

    sudo systemctl start | stop | restart docker.service
    
  2. 查看docker版本

    sudo docker version
    
  3. 设置开机自启

    sudo systemctl enable docker
    
  4. 开机启动检测

    sudo systemctl list-unit-files | grep docker 
    

镜像加速

提升国内用户访问 Docker Hub 拉取镜像的速度及稳定性。

LINUX

  1. 修改配置文件

    sudo vim /etc/docker/daemon.json
    
  2. 添加国内镜像

    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.ccs.tencentyun.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
    
  3. 更新镜像缓存

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

Docker的中央仓库

  1. https://hub.docker.com Docker官方的中央仓库:这个仓库是镜像最全的,但是下载速度很慢
  2. https://c.163yun.com/hub#/home 国内的镜像网站:网易蜂巢、daoCloud...
  3. http://hub.daocloud.io (推荐使用)
  4. 在公司内部会采用私服的方式拉取镜像。(添加配置)

到这里,docker环境就算大功告成了,小伙伴们自己动手尝试下吧

分享到:
.net core 自定义jwt验证
  • 文章目录
  • 站点概览
Michael

帅哥Michael

Crowded accidentaly across not anymore

Email RSS
看爆 Top5
  • async + await + promise 301次看爆
  • .net core AWS S3文件存储桶操作 272次看爆
  • ubuntu docker 安装 265次看爆
  • .net core部署环境 237次看爆
  • 常用sql server语句 221次看爆

Copyright © 2021 Michael · 鄂ICP备19024529号

Proudly published with Halo · Theme by fyang · 站点地图