阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)


阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

个人简介
作者简介:大家好,我是小鹏linux,运维领域创作者,阿里云ACE认证高级工程师
??个人主页:小鹏linux
支持我:点赞+收藏??+留言
格言:你未必出类拔萃,但一定与众不同!
个人社区:小鹏linux欢迎您的加入!
系列专栏:
阶段一:windows基础
阶段二:Linux基础知识
阶段三:shell基础+shell高级
阶段四:学会python,逆天改命
阶段五:Linux网络服务
阶段六:集群原理及架构
阶段七:云原生之Docker
阶段八:云原生之kubernetes(k8s)
阶段九:技能提升

阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片


目录
1. Docker概念
2. Docker 比传统虚拟化有哪些优势?
3. Docker 的安装
3.1 通过脚本安装
3.2 CentOS环境下安装Docker
3.3 Ubuntu 环境下安装 Docker
3.4macOS 环境下安装 Docker
3.5 Windows 10 环境下安装 Docker
3.6 Windows 7、8 环境下安装 Docker
结束语

1. Docker概念

Doctor相当于一个管理工具
基于Linux container 内核虚拟化技术,由 Golang语言编写的,遵从apache2.0协议,托管在github平台的一个管理引擎。

通过 UFS overlay 实现镜像的层级关连以及容器的可写层挂载
通过 namespace 名字空间实现容器级别的隔离
通过 CGROUP 实现资源的限制
通过 bridge网桥实现容器间的通讯
通过 chroot 实现伪根
2. Docker 比传统虚拟化有哪些优势?
1)能够将更多的资源提供给客户使用。
2)Docker启动属于秒级启动,虚拟机启动需要几分钟去进行启动。
3)Docker属于操作系统级别的虚拟化,通过Docker守护进程直接和内核进行交互,几乎没有性能损耗;虚拟机是硬件级别的虚拟化,需要通过Hypevisor层,性能损耗比较大
4)Docker更轻量,占用内存小,在同样的硬件环境下,Docker运行的镜像数量要远多于虚拟机数量。
5)Docker通过Namespaces和Cgroups实现对应用程序的进程之间的隔离,虚拟机从操作系统层面实现隔离,所以虚拟机的隔离性更强、安全性更好
3. Docker 的安装 3.1 通过脚本安装
用户可以使用官方提供的shell脚本来在Linux系统(目前支持Ubuntu. Debian、 Ora?eserver、Fedora、Centos、OpenSuse. Gentoo 等常见发行版) 上安装 Docker 的最新正式 版本,该脚本会自动检测系统信息并进行相应配置:
$ curl -fsSL https://get.docker.com/ | sh

或者:
$ wget -qO- https://get.docker.com/ | sh

如果想尝鲜最新功能,可以使用下面的脚本来安装最新的“尝鲜”版本。但要注意,非 稳定版本往往意味着功能还不够稳定,不要在生产环境中使用:
$ curl -fsSL https://test.docker.com/ | sh

另外,也可以从 store.docker.com/search?offering=community&q=&type=edition 找到各个 平台上的Docker安装包,自行下载使用。
3.2 CentOS环境下安装Docker 3.2.1 准备工作
  1. 先安装一个CentOS7.6的虚拟机。要求:硬盘大小大于等于100GB,网络我们选择仅主机模式。
  2. 编辑虚拟机设置,镜像文件选择CentOS-7-x86_64-Minimal-1810.iso
  3. 添加一块新网卡。网卡一:仅主机模式(工作环境都是仅主机模式)。网卡二:NAT模式(用来上网的)。
  4. 将虚拟机的NAT模式dhcp获取方式勾选上
  5. 开启虚拟机,进行安装。切记手动分区,/boot分区为800MB,/swap分区为4GB
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

打开网卡配置文件,修改如下:
BOOTPROTO=static ONBOOT=yes IPADDR=192.168.232.165 NETMASK=255.255.255.0

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens37

打开网卡二的配置,修改如下:
BOOTPROTO=dhcp ONBOOT=yes

[root@localhost ~]# systemctl restart network #重启网卡 [root@localhost ~]# vi /etc/selinux/config

关闭selinux。(若要临时关闭selinux,执行setenforce 0即可)打开配置文件,修改如下:
SELINUX=disabled

配置yum网易源:
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir back [root@localhost yum.repos.d]# mv C* back/

浏览器搜素http://mirrors.163.com/.help
点击CentOS,点击下载CentOS7.然后右击浏览器下载的文件,
选择复制下载地址http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# curl http://mirrors.163.com/.help/CentOS7-Base-163.repo > 163.repo #配置网易网络源 [root@localhost yum.repos.d]# cd [root@localhost ~]# yum clean all#清除yum缓存 [root@localhost yum.repos.d]# yum -y install net-tools vim lrzsz iptables-services #安装常用工具 [root@localhost ~]# systemctl stop firewalld#临时关闭防火墙 [root@localhost ~]# systemctl disable firewalld#设置防火墙开机不自启动 [root@localhost ~]# iptables -F#清空防火墙规则 [root@localhost ~]# systemctl start iptables [root@localhost ~]# systemctl enable iptables [root@localhost ~]# iptables -F#再次清空防火墙规则 [root@localhost ~]# service iptables save#保存到文件防止下次启动又有规则生成 [root@localhost ~]# shutdown -h now#虚拟机的话建议关机保存快照再开机

3.2.2 开始安装
Docker在CentOS中的安装方式:
方式一:> Script(不推荐)企业用的比较多的是19.03版本
curl -sSL https://get.docker.com/ | sh #官方脚本安装:自动检测当前系统并会自动选择安装当前平台能够使用的最新稳定版 systemctl start docker systemctl enable docker docker run hello-world

方式二:> Yum安装
yum install -y yum-utils cd /etc/yum.repos.d/ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#然后ls查看发现有docker-ce.repo 源产生

方式三:> Rpm安装(推荐)
浏览器https://mirrors.aliyun.com/docker-ce/linux/centos/7.6/x86_64/stable/Packages/下载所需版本的源码包安装
国外镜像,比较慢,浏览器搜素DaoCloud | Docker 极速下载:
找到Docker Hub 加速器,点击一次配置无缝使用。找到curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
[root@localhost ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io [root@localhost ~]# vim /etc/docker/daemon.json#打开配置文件,修改阿里云镜像加速

将{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]修改为{"registry-mirrors": ["https://kfp63jaj.mirror.aliyuncs.com"]}
[root@localhost ~]# systemctl restart docker#重启服务 [root@localhost ~]# docker info#查看生效了

备注:
小于等于1.16 版本镜像加速方法:
cp /lib/systemd/system/docker.service/etc/systemd/system/docker.service chmod 777 /etc/systemd/system/docker.service vim/etc/systemd/system/docker.service ExecStart=/usr/bin/dockerd-current--registry-mirror=https://kfp63jaj.mirror.aliyuncs.com \ systemctldaemon-reload systemctlrestartdocker ps-ef|grep docker

阿里云Docker官网:https://dev.aliyun.com/search.html
3.3 Ubuntu 环境下安装 Docker 3.3.1 系统要求
Ubuntu操作系统对Docker的支持十分成熟,可以支持包括x86_64、armhf、s390x (IBM . Z)、ppc641e等系统架构,只要是64位即可。’
Docker目前支持的最低Ubuntu版本为14.04LTS,但实际上从稳定性上考虑,推荐使用 16.04 LTS或18.0.4 LTS版本,并且系统内核越新越好,以支持Docker最新的特性。

用户可以通过如下命令检查自己的内核版本详细信息:
$ uname -a Linux localhost 4.9.36-x86_64-generic

或者:
$ cat /proc/version Linux version 4.9.36-x86_64-generic (maker@linux.com) (gcc version 4.9.2 (Debian 4.9.2-10))

如果使用Ubuntu 16.04 LTS版本,为了让Docker使用aufs存储,推荐安装如下两个 软件包:
$ sudo apt-get update $ sudo apt-get install -y \ 1inux-image-extra-$(uname -r) \ 1inux-image-extra-virtual

注意:Ubuntu发行版中,LTS ( Long-Term-Support)意味着更稳定的功能和更长期(目前为 5年)的升级支持,生产环境中推荐尽量使用LTS版本。
3.3.2 添加镜像源
首先需要安装apt-transport-https等软件包支持https协议的源:
$ sudo apt-get update $ sudo apt-get install \ - apt -transport-https \ ca-certificates \ curl \ software-properties-common

添加源的gpg密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK

确认导入指纹为 “9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C OEBF CD88” 的 GPG 公钥:
$ sudo apt-key fingerprint 0EBFCD88pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C OEBF CD88 uid Docker Release (CE deb) sub 4096R/F273FCD8 2017-02-22

获取当前操作系统的代号:
$ lsb_release -cs xenial

一般情况下,Ubuntu 16.04 LTS 代号为 xenial, Ubuntu 18.04 LTS 代号为 bionic
接下来通过如下命令添加Docker稳定版的官方软件源,非xenia!版本的系统注意修改 为自己对应的代号:
$ sudo add-apt-repository \ ndeb [arch=amd64] https://download.docker.com/linux/ubuntu \ xenial \ stable"

添加成功后,再次更新apt软件包缓存:
$ sudo apt-get update

3.3.3 开始安装Docker
在成功添加源之后,就可以安装最新版本的Docker 了,软件包名称为docker-ce,代表 是社区版本:
$ sudo apt-get install -y docker-ce

如果系统中存在较旧版本的Docker,会提示是否先删除,选择是即可。
除了基于手动添加软件源的方式之外,也可以使用官方提供的脚本来自动化安装Docker:
$ sudo curl -sSL https://get.docker.com/ | sh

安装成功后,会自动启动Docker服务.
用户也可以指定安装软件源中其他版本的Docker:
$ sudo apt-cache madison docker-ce docker-ce | 17.11.0-ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/edgeamd64 Packages docker-ce | 17.10. 〇~ce-0~ubuntu | https : //download.d.ocker.com/linux/ubuntu xenial/edge amd64 Packages docker-ce \ 17.09. l~ce- 0~ubuntu | https : //download.d.ocker. com/1 inux/ubuntuxenial/stable amd64 Раска?es $ sudo apt-get instal1 docker-ce=17.11.〇~ce-O~ubuntu

3.4macOS 环境下安装 Docker 3.4.1 使用 Homebrew 安装
macOS 我们可以使用 Homebrew 来安装 Docker。

Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
$ brew install --cask --appdir=/Applications docker==> Creating Caskroom at /usr/local/Caskroom ==> We'll set permissions properly so we won't need sudo in the future Password:# 输入 macOS 密码 ==> Satisfying dependencies ==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask docker ==> Installing Cask docker ==> Moving App 'Docker.app' to '/Applications/Docker.app'. 🍺 docker was successfully installed!

在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标。
3.4.2 手动下载安装
如果需要手动下载,请点击以下链接下载 Install Docker Desktop on Mac
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application文件夹即可。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

点击顶部状态栏中的鲸鱼图标会弹出操作菜单。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

第一次点击图标,可能会看到这个安装成功的界面,点击 "Got it!" 可以关闭这个窗口。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

启动终端后,通过命令可以检查安装后的 Docker 版本。
$ docker --version Docker version 17.09.1-ce, build 19e2cf6

3.4.3 镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

在任务栏点击 Docker for mac 应用图标 -> Perferences... -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

之后我们可以通过 docker info 来查看是否配置成功。
$ docker info ... Registry Mirrors: http://hub-mirror.c.163.com Live Restore Enabled: false

3.5 Windows 10 环境下安装 Docker
注意:此方法仅适用于 Windows 10 操作系统专业版、企业版、教育版和部分家庭版!
Docker 并不是一个通用的,它依赖于存在并运行的 Linux 内核于已环境的工具。

Docker 真正的 Linux 是在已经运行的下一个隔离的文件环境,因此,它执行的效果制造于就地部署的 Linux主机。
Docker 必须部署在相应的 Linux 内核的系统上。如果其他系统想部署 Docker,则必须安装一个虚拟 Linux 环境。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,然后在安装 Linux 系统的虚拟机中运行 Docker。

Docker Desktop 是 Docker 在 Windows 10 和 macOS 上运行的方法的官方安装方式,这个仍然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。
Docker Desktop 官方下载地址: Install Docker Desktop on Windows | Docker Documentation
3.5.1 安装 Hyper-V
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

如果您必须在电脑上使用虚拟机(例如 Android 应用程序使用的虚拟机或以下其他版本),请不要使用 Hyper-V !
2.5.2 开启 Hyper-V
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

程序和功能:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

启用或关闭 Windows 功能
【阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)】阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

检测Hyper-V
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

也可以通过命令启用 Hyper-V ,请管理员来启动菜单并以身份运行 PowerShell,执行以下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

2.5.3 安装 Docker Desktop for Windows
点击开始使用 Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会注册要求登录:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

2.5.4 安装运行文件
点击下载 Docker for Windows 安装文件,一路完成完成安装。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

安装完成后,Docker会自动启动。通知栏上会出现个小鲸鱼的图标,这表示Docker正在运行。

桌边还有三个图标,如下图所示:
我们可以在执行版本 docker version 查看号,docker hello-world 来编写测试。
如果没启动,你可以在 Windows 搜索 Docker 来启动:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

启动后,也可以在通知栏上看到小鲸鱼图标:
如果启动中遇到因 WSL 2 导致地错误,请安装WSL 2。
安装之后,就可以打开PowerShell并运行以下命令检测是否运行成功:
码头工人运行你好世界-世界

在成功运行之后应该会出现以下信息:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

3.6 Windows 7、8 环境下安装 Docker
win7、win8等需要利用工具箱来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

安装比较简单,运行起来,点自动化就可以了,可以勾选自己需要的组件:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

docker toolbox 是一个工具集,它主要包含以下一些内容:
  • Docker CLI - 客户端,使用运行 docker 引擎创建和容器。
  • Docker Machine - 可以让你在 Windows 的引擎中运行 docker 命令。
  • Docker Compose - 使用运行 docker-compose 命令。
  • Kitematic - 这是 Docker 的 GUI 版本。
  • Docker QuickStart shell - 这是一个已经配置好Docker的环境。
  • Oracle VM Virtualbox - 虚拟机。
下载完成后,安装成功后,桌边会出现三个图标,直接点击如下图所示:
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

点击 Docker QuickStart 图标来启动 Docker Toolbox 终端。
如果系统显示用户账户控制窗口来运行VirtualBox修改你的电脑,选择Yes。
阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片

$符号那你可以输入以下命令来执行。
$ docker 运行你好世界-世界

无法在本地找到图像“hello-world:latest”无法在本地找到图像“hello-world:latest”
拉存储库hello-world拉存储库你好-世界
91c95931e552:下载完成91c95931e552 :下载完成
a8219747be10:下载完成:下载完成
状态:为 hello-world 下载了更新的图像:最新状态:为hello - world下载了更新的图像:最新
来自 Docker 的您好。来自Docker的您好。
此消息表明您的安装似乎工作正常。此消息表明您的安装似乎工作正常。

为了生成此消息,Docker 采取了以下步骤:为了生成此消息,Docker采取了以下步骤:
1. Docker Engine CLI 客户端联系了 Docker Engine 守护进程。1. Docker Engine CLI 客户端联系了Docker Engine守护进程。
2. Docker Engine 守护进程从 Docker Hub 拉取“hello-world”镜像。
(假设它还没有在本地可用。)
3. Docker 引擎守护进程从该镜像创建了一个新容器,该容器运行
生成您当前正在阅读的输出的可执行文件。
4. Docker Engine 守护程序将该输出流式传输到 Docker Engine CLI 客户端,后者将其发送
到您的终端。
要尝试更雄心勃勃的事情,您可以运行Ubuntu容器:
$ docker run -it ubuntu bash

结束语 阶段七(云原生之Docker|【云原生】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程)
文章图片



    推荐阅读