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
设置版本库
-
安装需要的包。yum-utils, device-mapper-presistent-data, 和lvm2
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
-
可选:开启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时都要下载一个新的文件。
-
访问 这里 下载指定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/
-
使用下载的安装包安装docker。
sudo yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
-
Docker CE的启动、重启、查看状态和开机自动启动
sudo systemctl start docker sudo systemctl restart docker sudo systemctl status docker sudo systemctl enable docker
-
运行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
-
卸载docker
sudo yum remove docker-ce
-
删除所有镜像,容器,卷,或者自定义配置文件
sudo rm -rf /var/lib/docker
以上是关于CentOS7安装 Docker的主要内容,如果未能解决你的问题,请参考以下文章