k8s(Kubernetes)快速部署捷径(3)-Docker-CE安装及配置

【目录】
(1)k8s快速介绍
(2)硬件虚拟机环境Ubuntu18.10-server安装
(3)Docker-CE安装及配置
(4)Kubernetes 安装及部署
(5)创建企业Kubernetes多主机集群环境
(6)Kubernetes集群mysql应用实例
(7)Kubernetes集群tomcat应用集群实例
(8)Kubernetes集群beego新闻发布web系统集群实例
【资源下载】
完整教程markdown下载 提取码: 92hy
kubernetes(k8s)2小时快速部署教程视频 提取码:dk4i
kubernetes-Master-Node虚拟机完整镜像文件 提取码: 2wf8
课程相关其他相关安装包及镜像 提取码: nkfj


3.1 Docker简介

3. 1.1 docker介绍

  • docker是什么 ?

    Docker 是一个开源的应用容器引擎,是直接运行在宿主操作系统之上的一个容器,使用沙箱机制完全虚拟出一个完整的操作,容器之间不会有任何接口,从而让容器与宿主机之间、容器与容器之间隔离的更加彻底。每个容器会有自己的权限管理,独立的网络与存储栈,及自己的资源管理能,使同一台宿主机上可以友好的共存多个容器。

  • docker与虚拟机对比

    如果物理机是一幢住宅楼,虚拟机就是大楼中的一个个套间,而容器技术就是套间里的一个个隔断。

    docker1.png

  • 虚拟化技术不同

    • VMware Workstation、VirtualBoX

    硬件辅助虚拟化:(Hardware-assisted Virtualization)是指通过硬件辅助支持模拟运行环境,使客户机操作系统可以独立运行,实现完全虚拟化的功能。

    • Docker

    操作系统层虚拟化:(OS-level virtualization)这种技术将操作系统内核虚拟化,可以允许使用者空间软件实例被分割成几个独立的单元,在内核中运行,而不是只有一个单一实例运行。这个软件实例,也被称为是一个容器(containers)、虚拟引擎(Virtualization engine)、虚拟专用服务器(virtual private servers)。每个容器的进程是独立的,对于使用者来说,就像是在使用自己的专用服务器。

    以上两种虚拟化技术都属于软件虚拟化,在现有的物理平台上实现对物理平台访问的截获和模拟。在软件虚拟化技术中,有些技术不需要硬件支持;而有些软件虚拟化技术,则依赖硬件支持。

  • 应用场景不同

    • 虚拟机更擅长于彻底隔离整个运行环境。如: 云服务提供商通常采用虚拟机技术隔离不同的用户。
    • Docker通常用于隔离不同的应用,例如前端,后端以及数据库。
  • 资源的使用率不同

    虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。

  • docker的版本

    • Docker-CE -> 社区版
      • Stable 版
        • 稳定版, 一个季度更新一次
      • Edge 版
        • 一个月更新一般
    • Docker-EE
      • 企业版
      • 收费的
docker1.png

3.2 配置国内源

3.2.1 基础准备

  1. Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

    uname -r 
    4.18.0-21-generic(主版本必须保持一致)
    
  1. 安装curl

    apt-get update && apt-get install -y curl telnet wget man \
    apt-transport-https \
    ca-certificates \
    software-properties-common vim 
    
    
  1. 查看新版本号

    • Ubuntu 18.10
    $ lsb_release -c
    Codename:    cosmic
    
  1. 查看确认国内源

     $ cp /etc/apt/sources.list /etc/apt/sources.list.bak
     $ cat /etc/apt/sources.list
    

3.2.2 在线安装Docker-ce(本教程不推荐)

(建议下面的手动安装方式,因为在线可能会出现版本不一致)

注意: 该国内源目前提供 18.09版本,与k8s不符。k8s推荐安装Docker ce 18.06

  1. 安装GPG秘钥和添加国内镜像

    $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    

    添加国内源头

    $ add-apt-repository \
        "deb https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
        $(lsb_release -cs) \
        stable"
    
docker2.jpg
  1. 更新国内源路径
apt update

3.安装查看版本指令

apt-get install -y apt-show-versions

4.查看docker-ce版本号

apt-show-versions -a docker-ce
  1. 在线安装Docker-ce
    sudo apt-get update && apt-get install -y docker-ce
注意到当前安装的版本是 `docker-ce_5%3a18.09.6~3-0~ubuntu-cosmic_amd64.deb`

3.2.3 手动安装Docker(离线安装)

  1. 下载docker-ce_18.06.1\~ce\~3-0\~ubuntu_amd64.deb
    或者
    课程相关其他相关安装包及镜像 提取码: nkfj
    也提供。

  2. 上传到上述文件到待安装服务器master

  3. 登录待安装服务器,切换到root账户

  4. dpkg -i docker-ce_18.06.1\~ce\~3-0\~ubuntu_amd64.deb

如果提示错误

dpkg: error: dpkg frontend is locked by another process

说明已经有其他进程在使用dpkg安装程序

sudo rm /var/lib/dpkg/lock

即可。

如果提示错误

itcast@master:~/package$ sudo dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
 
[sudo] password for itcast: 
Selecting previously unselected package docker-ce.
(Reading database ... 100647 files and directories currently installed.)
Preparing to unpack docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb ...
Unpacking docker-ce (18.06.1~ce~3-0~ubuntu) ...
dpkg: dependency problems prevent configuration of docker-ce:
 docker-ce depends on libltdl7 (>= 2.4.6); however:
  Package libltdl7 is not installed.

dpkg: error processing package docker-ce (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.8.4-2) ...
Processing triggers for systemd (239-7ubuntu10) ...
Errors were encountered while processing:
 docker-ce

表示当前docker-ce 依赖系统libltd17库,安装就可以了

$ apt-get install -y libltdl7
  1. docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:24:56 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:23:21 2018
  OS/Arch:          linux/amd64
  Experimental:     false

确保版本号是 18.06

`

3.3 启动Docker-ce

  1. 开机并启动docker
sudo systemctl enable docker 
sudo systemctl start docker 
  1. 重启,登录确认docker已经运行
itcast@ubuntu:~$ sudo docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  1. 下载Alpine镜像热身一下 Docker
~$ sudo docker run -it --rm alpine:latest sh 

输出内容如下,我们在Docker容器中测试三个命令,分别是

- `date`
- `time`
- `uname -r`
itcast@ubuntu:~$ sudo docker run -it --rm alpine:latest sh 
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
e7c96db7181b: Pull complete 
Digest: sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6
Status: Downloaded newer image for alpine:latest
/ # date
Mon Jun 10 07:56:01 UTC 2019
/ # time
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.

Usage: time [-vpa] [-o FILE] PROG ARGS

Run PROG, display resource usage when it exits

    -v  Verbose
    -p  POSIX output format
    -f FMT  Custom format
    -o FILE Write result to FILE
    -a  Append (else overwrite)
/ # uname -r 
4.18.0-10-generic

docker3.jpg

3.4 创建Docker用户组并添加当前用户

使用您的用户登录Linux然后执行如下操作,用户组docker可能已经存在。

如果使用普通用户目前是无法使用docker指令的

itcast@master:~$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied

我们需要将当前的普通用户添加到当前的docker用户组中

sudo groupadd docker
sudo usermod -aG docker $USER
exit

重新登录使用普通用户登录:

itcast@master:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

就可以使用了。

3.5 申请阿里云镜像加速器

如果不申请阿里云私人专属镜像加速器,鼓励复制如下本人申请的私人专属镜像加速器,直接使用即可。

https://ozcouv1b.mirror.aliyuncs.com

申请步骤如下

在阿里云注册自己账户

找到容器镜像服务,参考网址如下

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

点开左侧菜单镜像中心—>镜像加速器

右侧加速器地址,即使私人专属的镜像加速器地址,点击复制

粘贴到一个文本文件留存

docker4.jpg

3.6 docker配置国内镜像加速器

目的 : 为了下载docker镜像更快

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器。

创建/etc/docker/daemon.json文件,内容如下:

{
  "registry-mirrors": ["https://ozcouv1b.mirror.aliyuncs.com"]
}

重启docker服务

# 重载所有修改过的配置文件
sudo systemctl daemon-reload
# 重启Docker服务
sudo systemctl restart docker

关于作者:

作者:Aceld(刘丹冰)

号:IT无崖子

mail: [email protected]

github: https://github.com/aceld

原创书籍gitbook: http://legacy.gitbook.com/@aceld

原创声明:未经作者允许请勿转载, 如果转载请注明出处

你可能感兴趣的:(k8s(Kubernetes)快速部署捷径(3)-Docker-CE安装及配置)