【分布式微服务秒杀系统】三、环境搭建之Docker

Docker介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。-- 百度百科
Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及 AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

Linux安装Docker

本文只提供CentOS安装教程,请前往官方教程文档了解更多信息。

操作系统要求

要安装Docker Engine,您需要CentOS 7的维护版本,不支持或未测试存档版本。
必须启用centos-extras存储库。该存储库默认情况下处于启用状态,但是如果已禁用它,则需要重新启用它。
建议使用overlay2存储驱动程序。

设置仓库

在新主机上首次安装Docker Engine之前,需要设置Docker仓库。之后,您可以从存储库安装和更新Docker。
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

$ sudo yum install -y yum-utils \
   device-mapper-persistent-data \
   lvm2
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

可用源地址:

官方源地址(比较慢):https://download.docker.com/linux/centos/docker-ce.repo
阿里云(推荐):http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装Docker引擎

  1. 安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:

    $ sudo yum install docker-ce docker-ce-cli containerd.io
    
  2. 要安装特定版本的Docker Engine,请在存储库中列出可用版本:

    $ yum list docker-ce --showduplicates | sort -r
    

    然后选择并安装:

    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
    

    此时,Docker已安装但尚未启动。该docker组已创建,但没有用户添加到该组。

  3. 启动Docker

    $ sudo systemctl start docker
    
  4. 验证
    验证是否正确安装了Docker Engine,输入如下命令,查看Docker版本信息。

    $ docker version
    

配置镜像加速器

可前往阿里云容器镜像服务获取镜像仓库地址。
配置方式如下:

$ mkdir -p /etc/docker
$ tee /etc/docker/daemon.json <<-'EOF'
{
  "debug" : true,
  "registry-mirrors": ["https://dpayzz9i.mirror.aliyuncs.com"],
  "default-address-pools" : [
    {
      "base" : "172.31.0.0/16",
      "size" : 24
    }
  ]
}
EOF

国内加速地址:

Docker中国区官方镜像:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
ustc:https://docker.mirrors.ustc.edu.cn
中国科技大学:https://docker.mirrors.ustc.edu.cn

设置开机自启

```
$ systemctl daemon-reload
$  systemctl restart docker
$  systemctl enable docker
```

Docker安装脚本(干货)

#!/bin/bash
############################################################################################
# Name: install_docker.sh                              
# Version: v1.0.0                            
# Function: Automatic deployment and installation of docker-ce based on CentOS 7.x system
# Author: rannuo <rannuo1010@gmail.com>
# Create Date: 2020-01-08
############################################################################################

#环境检测
function env_check(){
    #检测Linux内核版本
    kernel_version=`uname -r | awk -F "." '{print $1}'`
    if [[ ${kernel_version} -lt 3 ]];then
        echo "Linux内核版本太低,请升级内核版本至3.x以上!当前内核版本:"`uname -r`
        exit 1
    else
        echo "Linux内核版本检测通过!当前内核版本:"`uname -r`
    fi
}

#输入确认提示
function confirm_input() {
    input_flag=true
    while ${input_flag}
    do
        read -p "请输入[Y/N]: " input
        case ${input} in
            [yY][eE][sS]|[yY])
                input_flag=false
                return 1
                ;;
            [nN][oO]|[nN])
                input_flag=false
                return 0
                ;;
            *)
                echo "Invalid input..."
                ;;
        esac
    done
}

#卸载Docker
function docker_uninstall(){
    # 卸载Docker软件
    rpm -qa | grep docker | xargs yum remove -y
    # 删除Docker运行时数据
    rm -rf /var/lib/docker
}

#安装Docker
function docker_install(){
	echo "检查Docker..."
	docker -v
    if [[ $? -eq  0 ]]; then
        echo "检查到Docker已安装!是否需要卸载后重新安装?"
        `confirm_input`
        if [[ $? -eq  0 ]]; then
           exit
        fi
        `docker_uninstall`
        echo "Docker已卸载完成!"
    fi
    echo "开始安装Docker环境..."
    # 安装所需的软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # 配置yum源(这里使用阿里的源)
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
    && yum makecache fast
    # 执行安装
    yum install -y docker-ce docker-ce-cli containerd.io
    # 配置镜像下载加速
    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8cl6jgv2.mirror.aliyuncs.com"]
}
EOF
    # 启动docker并配置开机启动
    systemctl start docker
    systemctl enable docker
    # 配置当前用户对Docker命令的执行权限
    groupadd docker
    gpasswd -a ${USER} docker
    # 重启Docker服务
    systemctl restart docker
    echo "安装docker环境完成!"
    # 查看版本信息
    docker version
}

# 执行函数
env_check
docker_install

安装Docker Compose

Compose 简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过docker-compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

在Linux系统上安装

  1. 运行以下命令以下载Docker Compose的当前稳定版本(要安装其他版本的Compose,请替换1.26.2 为要使用的Compose版本)
    sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
  2. 将可执行权限应用于二进制文件
    sudo chmod +x /usr/local/bin/docker-compose
    
  3. 测试安装
    $ docker-compose --version
    
    提示:请前往官方安装教程了解更多Docker Compose安装信息。

Docker与Kubernets

Docker 和 Kubernetes 是 IT 世界最热门的两种技术。关于Kubernets的相关内容,在后续的高级篇章会有相关的介绍,敬请期待…

上一篇:【分布式微服务秒杀系统】二、项目&架构设计
下一篇:【分布式微服务秒杀系统】四、环境搭建之MySQL集群

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值