设置阿里云镜像仓库并安装Docker
echo "设置阿里云镜像仓库"
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all && yum makecache && yum makecache fast
echo "安装依赖包以及相关工具"
yum install -y yum-utils device-mapper-persistent-data lvm2 bind-utils
################### 卸载之前的docker ##########################
yum remove docker docker-ce docker-ce-cli docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce-cli
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
# 查看还有没有存在的docker组件
rpm -qa|grep docker
# 有则通过命令 yum -y remove XXX 来删除,比如:
yum remove docker-ce-cli
################################
# 不能安装最新版本的docker,kubelet最大支持到docker 18.09版本
# 查看当前仓库docker版本
yum list docker-ce.x86_64 --showduplicates |sort -r
yum list docker-ce-cli.x86_64 --showduplicates |sort -r
# 安装指定docker版本,18.09。9版本的docker-ce和docker-ce-cli
yum install -y --setopt=obsoletes=0 docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7
mkdir -p /data/docker
mkdir -p /etc/docker
##################### 修改Docker默认镜像和容器的存储位置 ##########################
# Docker默认的镜像和容器存储位置在/var/lib/docker中
# 修改docker.service文件
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
# --graph=/data/docker:docker新的存储位置
# --storage-driver=overlay2 : 当前docker所使用的存储驱动 (存储驱动不改也会变成overlay2)
# --registry-mirror=https://jxus37ad.mirror.aliyuncs.com : docker镜像拉取地址
# 或者可以通过文件/etc/docker/daemon.json来设置
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://tqvgn53t.mirror.aliyuncs.com"],"graph": "/data/docker"
}
systemctl daemon-reload
systemctl restart docker
# 查看docker信息
docker info
######################################################################################
# 可以考虑修改一下dockerm默认的镜像存储目录
systemctl enable docker && systemctl start docker
# 确认一下iptables filter表中FOWARD链的默认策略(pllicy)为ACCEPT
iptables -nvL
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://tqvgn53t.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
EOF
systemctl restart docker.service
docker info | grep Cgroup
分类:
Docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!