whcoding whcoding
首页
归档
关于
GitHub (opens new window)
首页
归档
关于
GitHub (opens new window)
  • Docker 学习
  • Docker 概述
  • Docker 安装
    • Docker 命令
    • Docker 镜像详解
    • Docker 制作自己的镜像
    • Docker 容器数据卷
    • Dockerfile
    • Docker 网络原理
    • Docker Compose
    • Docker
    whcoding
    2020-09-09
    目录

    Docker 安装

    # Docker的基本组成

    73600-4k8lz4i4zi8.png

    • 镜像(Image): docker镜像, 就相当于是镜像模板, 比如官方镜像Ubuntu:16.04就包含了完整的一套Ubuntu16.4最小系统 可以通过镜像来创建一个或多个容器.
    • 容器(Container): 镜像和容器的关系, 就像面向对象程序设计种的类和对象一样, 镜像是静态的定义, 容器时镜像运行时的实体, 容器可以被创建 启动 停止 删除 暂停等.
    • 仓库(Repository): 仓库可看成一个代码控制中心, 用来保存镜像. 仓库分为公有仓库和私有仓库. 其中DockerHub (opens new window)就是docker官方的仓库地址

    # 安装

    docker官方文档 (opens new window) 我的系统是 ubuntu 所以接下来的教程都是在 ubuntu 中安装的

    1. 卸载旧的版本
    sudo apt-get remove docker docker-engine docker.io containerd runc
    
    1
    1. 更新apt软件源并允许apt通过HTTPS使用仓库
    sudo apt-get update
    
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
    
    1
    2
    3
    4
    5
    6
    7
    8
    1. 添加Docker的官方GPG密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    1
    1. 设置Docker稳定版软件源
    # 官方源, 国内安装比较慢推荐使用阿里云的
    sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    
    # 阿里云软件源
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    
    1
    2
    3
    4
    5
    6
    7
    8
    1. 添加仓库后, 更新apt源索引 并且安装最新的 docker-ce 社区版
    • 安装时最好设置一下阿里云的镜像会快很多 阿里云镜像源 (opens new window)
    sudo apt-get update
    
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
    1
    2
    3
    1. 启动docker
    sudo service docker start
    
    1
    1. 使用 docker version 判断是否安装成功

    36515-y5hleldy74.png

    # 运行 hello-world

    # 使用 docker run hello-world

    45087-h5ack7tnbnw.png

    • 上图可以看到第一步运行 docker run hello-world 命令后先在本来没有在本地找到 hello-world 镜像
    • 第二步开始去远程仓库拉去 hello-world 镜像, 拉去完成之后返回一串签名信息
    • 第三步输出了 Hello from Docker! 表示已经完成了

    # docker run 命令详细分析

    01534-qm17l6vxey.png

    # 查看下载的镜像

    docker images
    
    1

    01432-o3sc2ejyu9g.png

    # 卸载 docker

    1. 卸载Docker Engine, CLI和Containerd软件包
    sudo apt-get purge docker-ce docker-ce-cli containerd.io
    
    1
    1. 手动删除docker的资源 比如: images, containers, volumes
    sudo rm -rf /var/lib/docker
    
    1

    # Docker底层原理

    Docker是怎么工作的?

    • Docker是一个 Client - Server 结构的系统, Docker的守护进程运行在主机上, 通过 Socket从客户端访问
    • DockerServer 接收到 DockerClient的指令, 就会执行这个命令

    17909-x35oynbw52i.png

    Docker为什么比虚拟机快

    59067-4cpj4c4zmml.png

    1. Docker有着比虚拟机更少的抽象层
    2. Docker利用的是宿主机的内核, 而 vm 需要 Guest OS.
    3. 所以说新建一个容器的时候 docker需要像虚拟机一个重新加载一个操作系统内核避免引导, 虚拟机加载GuestOS是分钟级的. 而docker是里面宿主机的操作系统, 省略了复杂的过程是秒级的.
    #Docker
    上次更新: 2022/08/30, 23:31:20
    Docker 概述
    Docker 命令

    ← Docker 概述 Docker 命令→

    Theme by Vdoing | Copyright © 2018-2023
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式