CentOS7安装 Docker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7安装 Docker相关的知识,希望对你有一定的参考价值。

环境:

CentOS 7

卸载旧版本

安装新版本docker-ce前,需要先卸载旧版本docker或docker-engine,和关联依赖。

sudo yum remove docker          docker-client          docker-client-latest          docker-common          docker-latest          docker-latest-logrotate          docker-logrotate          docker-selinux          docker-engine-selinux          docker-engine

方法一:使用版本库安装Docker CE

设置版本库

  1. 安装需要的包。yum-utils, device-mapper-presistent-data, 和lvm2

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 使用下面命令设置一个稳定版本库。

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. 可选:开启edge和test版本库。这些版本库也包含在docker-ce.repo中,默认不可用,可以和稳定版本库一起开启:

    sudo yum-config-manager --enable docker-ce-edge
    sudo yum-config-manager --enable docker-ce-test

可以通过yum-config-manager命令用—disable和—enable来关闭和开启这些版本库。

sudo yum-config-manager --disable docker-ce-edge

通过版本库安装

1.查看可用版本并安装

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

安装指定版本

sudo yum install -y docker-ce-<VERSION STRING>

安装最新版Docker CE

sudo yum install -y docker-ce

2.Docker CE的启动、重启、查看状态和开机自动启动

sudo systemctl start docker
sudo systemctl restart docker
sudo systemctl status docker
sudo systemctl enable docker

3.运行hello-word镜像验证docker是否正确安装

sudo docker run hello-world

方法二:使用安装包安装

如果无法使用docker版本库安装(网络有问题,我就遇到了),可以下载.rpm文件手动安装。需要每次更新docker时都要下载一个新的文件。

  1. 访问 这里 下载指定docker版本的.rpm文件。比如:docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

    https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

    https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

  2. 使用下载的安装包安装docker。

    sudo yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
  3. Docker CE的启动、重启、查看状态和开机自动启动

    sudo systemctl start docker
    sudo systemctl restart docker
    sudo systemctl status docker
    sudo systemctl enable docker
  4. 运行hello-word镜像验证docker是否正确安装

    sudo docker run hello-world

方法三(通过官方提供的自动安装脚本安装)

1.创建.sh文件,并写入以下内容。vim docker.sh

    #!/bin/sh
    ###############################################################################
    #
    #VARS INIT
    #
    ###############################################################################

    ###############################################################################
    #
    #Confirm Env
    #
    ###############################################################################
    date
    echo "## Install Preconfirm"
    echo "## Uname"
    uname -r
    echo
    echo "## OS bit"
    getconf LONG_BIT
    echo

    ###############################################################################
    #
    #INSTALL yum-utils
    #
    ###############################################################################
    date
    echo "## Install begins : yum-utils"
    yum install -y yum-utils >/dev/null 2>&1
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Install ends   : yum-utils"
    echo

    ###############################################################################
    #
    #Setting yum-config-manager
    #
    ###############################################################################
    echo "## Setting begins : yum-config-manager"
    yum-config-manager        --add-repo        https://download.docker.com/linux/centos/docker-ce.repo >/dev/null 2>&1

    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : yum-config-manager"
    echo

    ###############################################################################
    #
    #Update Package Cache
    #
    ###############################################################################
    echo "## Setting begins : Update package cache"
    yum makecache fast >/dev/null 2>&1
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : Update package cache"
    echo

    ###############################################################################
    #
    #INSTALL Docker-engine
    #
    ###############################################################################
    date
    echo "## Install begins : docker-ce"
    yum install -y docker-ce
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Install ends   : docker-ce"
    date
    echo

    ###############################################################################
    #
    #Stop Firewalld
    #
    ###############################################################################
    echo "## Setting begins : stop firewall"
    systemctl stop firewalld
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    systemctl disable firewalld
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : stop firewall"
    echo

    ###############################################################################
    #
    #Clear Iptable rules
    #
    ###############################################################################
    echo "## Setting begins : clear iptable rules"
    iptables -F
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : clear iptable rules"
    echo

    ###############################################################################
    #
    #Enable docker
    #
    ###############################################################################
    echo "## Setting begins : systemctl enable docker"
    systemctl enable docker
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : systemctl enable docker"
    echo

    ###############################################################################
    #
    #start docker
    #
    ###############################################################################
    echo "## Setting begins : systemctl restart docker"
    systemctl restart docker
    if [ $? -ne 0 ]; then
      echo "Install failed..."
      exit 1
    fi
    echo "## Setting ends   : systemctl restart docker"
    echo

    ###############################################################################
    #
    #confirm docker version
    #
    ###############################################################################
    echo "## docker info"
    docker info
    echo

    echo "## docker version"
    docker version

2.启动脚本进行安装

    sudo chmod +x docker.sh
    sudo ./docker.sh

3.Docker CE的启动、重启、查看状态和开机自动启动

    sudo systemctl start docker
    sudo systemctl restart docker
    sudo systemctl status docker
    sudo systemctl enable docker

4.运行hello-word镜像验证docker是否正确安装

sudo docker run hello-world 

卸载Docker CE

  1. 卸载docker

    sudo yum remove docker-ce
  2. 删除所有镜像,容器,卷,或者自定义配置文件

    sudo rm -rf /var/lib/docker

以上是关于CentOS7安装 Docker的主要内容,如果未能解决你的问题,请参考以下文章

centos7使用docker安装es(elasticsearch)

基于Centos7安装Docker-registry2.0

如何在 CentOS 7 上安装 Docker

centOS7安装Docker CE

centos7之docker安装

CentOS7安装Docker