安裝
安裝
官方安裝指南:
CentOS 安裝 Docker
系統(tǒng)要求
- Docker CE 支持 64 位版本 CentOS 7
- CentOS 7 內(nèi)核版本不低于3.10
查看內(nèi)核版本
[root@oracle11g ~]# uname -r
3.10.0-1127.18.2.el7.x86_64
卸載舊版本
舊版本的Docker稱為docker或者docker-engine,使用以下命令卸載舊版本
# 查看 docker 是否安裝
yum list installed | grep docker
# 刪除安裝的 docker 內(nèi)容
sudo yum remove docker docker-common docker-selinux docker-engine docker-ce-cli docker-ce
yum 安裝
注意:如果安裝的事 centos 7 minimal版本,執(zhí)行安裝提示 “沒有可用軟件包” 這個(gè)時(shí)候需要安裝必要的軟件依賴及更新增加docker-ce yum源
# 更新軟件源
yum update
# 安裝必要依賴
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker源
[root@oracle11g ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
已加載插件:fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
# 更新yum緩存
yum makecache fast
# 查看所有倉庫中所有docker版本
yum list docker-ce --showduplicates|sort -r
# 安裝
sudo yum install -y docker-ce
# 安裝(選擇版本)
yum -y install docker-ce-19.03.0.ce
使用腳本安裝
在測試或開發(fā)環(huán)境中,docker官方微了簡化安裝流程,提供便捷的安裝腳本,centos系統(tǒng)上可以使用如下命令進(jìn)行安裝(docker ce edge)
curl -fsSL https://get.docker.com -o get-docker.sh #獲取腳本
sudo sh get-docker.sh --mirror Aliyun #安裝腳本
自制腳本
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
USER='docker'
GROUP='docker'
Version="19.03.13-3.el7"
# 安裝環(huán)境
echo "配置 yum 環(huán)境"
yum install -y yum-utils device-mapper-persistent-data lvm2 wget || echo -e '\033[1;31m安裝失敗,請檢查網(wǎng)絡(luò)和yum源配置!\033[0m'
# 配置安裝源
echo "配置docker安裝源"
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 更新yum緩存
yum makecache fast
# 安裝docker
echo "安裝docker"
yum -y install docker-ce-$Version docker-ce-cli-$Version || echo -e '\033[1;31m安裝失敗,請檢查網(wǎng)絡(luò)和yum源配置!\033[0m'
# 創(chuàng)建用戶組
echo "創(chuàng)建用戶組:docker"
egrep "^$GROUP" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
groupadd $USER
fi
# 創(chuàng)建用戶
echo "創(chuàng)建用戶:docker"
egrep "^$USER:" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
useradd -g $GROUP -s /sbin/nologin $USER -M
fi
echo "配置docker國內(nèi)鏡像"
if [ ! -d "/etc/docker" ]
then
mkdir -p /etc/docker
fi
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[
"https://ung2thfc.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
EOF
echo "注冊服務(wù)"
systemctl daemon-reload
systemctl enable --now docker
docker version && echo -e "\033[1;32m $Version 安裝成功!\033[0m" || echo -e "\033[1;32m $Version 安裝成功!\033[0m"
啟動(dòng)Docker CE
# 設(shè)置開機(jī)啟動(dòng)
[root@oracle11g ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
# 啟動(dòng)|重啟|停止|當(dāng)前狀態(tài)
sudo systemctl start|restart|stop|status docker
建立 docker 用戶組
默認(rèn)情況下,docker命令會(huì)使用Unix Socket與Docker引擎通訊。而只有root用戶和docker組的用戶才可以訪問docker引擎的Unix Socket。一般Linux系統(tǒng)上不會(huì)直接使用root用戶進(jìn)行操作。因此,需要使用docker的用戶加入docker用戶組
sudo groupadd docker #建立docker組
sudo usermod -aG docker $USER #將當(dāng)前用戶追加入docker組
# 添加到docker組后需要切換下用戶,才生效或者更新組
sudo su #切換到root用戶
su username #切換回之前用戶(username之前用戶名稱)
# 更新組
newgrp docker #更新用戶
測試docker是否安裝正確
docker run hello-world #啟動(dòng)一個(gè)基于hello-world鏡像的容器