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/
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
-
使用下載的安裝包安裝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