zoukankan      html  css  js  c++  java
  • docker学习笔记(1)——ubuntu16.04安装docker(含如何彻底卸载docker,docker拉取镜像失败解决)

    参考博客:

    1.官网教程:https://docs.docker.com/engine/install/   根据本机不同的信息选择不同的安装方式:  https://docs.docker.com/engine/install/ubuntu/

    2.其他博客:https://www.jianshu.com/p/482d1eb4d9a2

    3.视频教程:https://www.bilibili.com/video/BV1og4y1q7M4?t=380&p=8(老师讲的很好)

    前言:docker架构

    docker组成:

    1.客户端;

    2.服务端,服务端中又包括镜像和容器,其中镜像和容器的关系可以理解成,类和对象的关系。每个镜像可以实例出若干个容器(最终服务或项目运行就是在容器中的)

    3.(远程)仓库:存放镜像的地方,一般是在docker hub上,在国外就想github一样,慢!因此我们要配置国内的源,比如阿里云docker镜像地址。

    一、准备工作

    因为要配置阿里云镜像地址,所以仅仅看官网的教程是不够的,并且我这里的机器是:

     所以在https://docs.docker.com/engine/install/这个页面中,

    然后进入了https://docs.docker.com/engine/install/ubuntu/页面,到这里准备工作大致完成,后面可以参考https://www.jianshu.com/p/482d1eb4d9a2博客进行安装(或者继续看我的)

    二、卸载旧的docker

    不管你是否安装过,都可以执行这一步,反正执行了不亏。。。

    $ sudo apt-get remove docker docker-engine docker.io containerd runc

    补充:(来自官网),为了彻底删除docker,clean docker环境

    Uninstall Docker Engine

    1. Uninstall the Docker Engine, CLI, and Containerd packages:

      $ sudo apt-get purge docker-ce docker-ce-cli containerd.io
      
    2. Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and volumes:

      $ sudo rm -rf /var/lib/docker
      $ sudo rm -rf /var/lib/containerd
      

    You must delete any edited configuration files manually.

    三、正式安装docker

    有多种安装方法,这里采用官网推荐的使用仓库进行安装

    $ sudo apt-get update
    $ sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    验证密钥是否添加成功,输入指令

    $ sudo apt-key fingerprint 0EBFCD88

    出现如下说明ok:

    四、写入docker stable版本的阿里云镜像软件源

    $ sudo add-apt-repository 
       "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu 
        $(lsb_release -cs) 
        stable"
    $ sudo apt-get update

    五、安装最新的docker社区版

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

    六、验证是否安装成功

    $ sudo docker version

    出现下图说明成功:

    七、启动docker

    systemctl start docker

    八、搜索镜像:

    docker search nginx

    一般没问题,但是出现过报错如下:

    Error response from daemon: Get https://index.docker.io/v1/search?q=nginx&n=25: dial tcp: lookup index.docker.io on 127.0.1.1:53: no such host

    可以简单分析得知是网络配置不对,本地回环地址127.0.1.1:53是不对的

    打开文件

    vi /etc/resolv.conf

    发现:

     果然这个ip配置的不对,查阅资料修改为:

    8.8.8.8是Google提供的免费DNS服务器的P地址)我理解的是,docker pull镜像要做dns域名解析,一般是从docker hub上拉取,所以要用8.8.8.8,如果docker hub在国内,用114.114.114.114也可以。

    后续执行命令:

    service network-manager restart
    
    systemctl restart docker

    到此一般就ok了

    后续:

    在安装好之后,可以通过命令,从仓库中拉取我们的第一个镜像,运行命令,sudo docker run hello-world,会将"hello-world"拉取到本地,输入docker images 可以看到这个镜像。那么docker到底是怎么工作的呢

     docker是一个client-server结构的系统,docker的守护进程运行在宿主机上,通过socket和客户端访问。

    docker-server接收到docker-client的指令,就会执行这个命令

    为什么docker速度比虚拟机(vm等)快?

    1、因为docker有更少的抽象层。

    2、docker用的是宿主机的内核,虚拟机用的是guest os

    总之,新建一个容器的时候,不需要像虚拟机一样重新加载一个操作系统内核。

    PS:

    GuestOS:VM(虚拟机)里的的系统(OS);

    HostOS:物理机里的系统(OS);

  • 相关阅读:
    iOS中GestureRecognizer的6大手势与代理方法详细使用
    使用pan手势实现抽屉效果
    mfc HackerTools释放资源
    mfc HackerTools防止程序双开
    FLV简介
    AAC简介
    H.264简介
    PCM简介
    YUV格式
    编译ffmpeg(第一次),实现JPG转MP4
  • 原文地址:https://www.cnblogs.com/kongweisi/p/14601294.html
Copyright © 2011-2022 走看看