参考博客:

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);

docker学习笔记(1)——ubuntu16.04安装docker(含如何彻底卸载docker,docker拉取镜像失败解决)的更多相关文章

  1. Docker学习笔记(1):CentOS7安装Docker

    Docker是一个基于Go语言实现的开源应用容器引擎,通过对应用组件的封装.分发.部署.运行等生命周期的管理,使程序及其运行环境能够做到"一次封装,到处运行". Docker架构 ...

  2. Docker学习笔记一 概念、安装、镜像加速

    本文地址:https://www.cnblogs.com/veinyin/p/10406378.html  Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...

  3. 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  4. docker学习笔记一:基本安装和设置容器静态ip

    docker是一个lxc升级版的容器类虚拟环境,具有快速部署,灵活,易迁移的虚拟机模式,现在各大公司已经开始广泛使用为了自己方便学习linux,需要多台虚拟机环境,但是vmware开启多台虚拟机时需要 ...

  5. Docker学习笔记【三】安装Redis

    项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...

  6. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  7. [心得]docker学习笔记

    1. docker是什么??? (1) docker是一台类似虚拟机的功能, 内部由一个个镜像组成, 镜像里可以运行容器, 而这个容器可以是任何东西, 比如mysql, 比如tomcat等等, 它的目 ...

  8. Docker学习笔记1

    来源:第一本Docker书 基础命令 安装: apt-get install docker 启动: service docker start 创建并运行第一个容器: docker run -i -t ...

  9. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

随机推荐

  1. Kubernetes集群PV和PVC详解

    Kubernetes集群高级存储资源PV及PVC 文章目录 Kubernetes集群高级存储资源PV及PVC 1.高级存储PV和PVC概念部分 2.PV和PVC资源的生命周期 3.PV资源介绍与案例配 ...

  2. Hello,find!

    Hello,find! 前言 余幼时,每至除夕,爆竹声声,如雷贯耳,醒于梦中,便知春节将至.与兄长二三人,执摔炮六七只, 玩耍于廷中.出门罢,廷中白雪覆于黄土之上.二三尺之外,见犬窝,余之爱犬趴于其中 ...

  3. AQS源码一窥-JUC系列

    AQS源码一窥 考虑到AQS的代码量较大,涉及信息量也较多,计划是先使用较常用的ReentrantLock使用代码对AQS源码进行一个分析,一窥内部实现,然后再全面分析完AQS,最后把以它为基础的同步 ...

  4. Hive安装教程

    Hive的安装和使用 我的版本: JAVA_HOME=/usr/local/soft/jdk1.8.0_171 HADOOP_HOME=/usr/local/soft/hadoop-2.7.6 HIV ...

  5. SpringBoot前后端数组交互

    前端 后端 Gitee地址 https://gitee.com/zhuayng/foundation-study.git 参考 https://blog.csdn.net/qq_34091758/ar ...

  6. C 字符串奇数位小写字母转大写

    如题 C实现 #include<stdio.h> #include<string.h> #define COUNT 20 //最大接受字符串数,可以使用动态获取空间函数优化 v ...

  7. NSMutableArray基本概念

    1.NSMutableArray介绍 什么是NSMutableArray NSMutableArray是NSArray的子类 NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的, ...

  8. sort、uniq、tr、cut、eval以及正则表达式

    sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...

  9. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  10. [LeetCode]20.有效的括号(Java)

    原题地址: valid-parentheses 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类 ...