#!/bin/bash
# @author czchu
cd docker-19.03.0
curPath=$(dirname $(readlink -f "$0"))
containerd=containerd.service
docker=docker.service
install_docker_env(){
if [ -n "`command -v docker`" ]; then
if [[ `docker -v` =~ ^Docker\ version\ ([0-9]+\.[0-9]+) ]]; then
version=${BASH_REMATCH[1]}
if [[ `echo "$version<19.03"|bc -l` -eq 0 ]]; then
echo -e "\033[32;49;1mdocker has been detected, will reuse docker run environment! \033[0m"
systemctl daemon-reload
systemctl restart containerd
systemctl restart docker
if [ $? -ne 0 ]; then
echo -e "\033[31;49;1msystemctl restart docker error, please uninstall docker and retry! \033[0m"
exit 1
fi
return;
fi
fi
echo -e "\033[31;49;1mA low version of docker has been detected. please uninstall docker first! \033[0m"
exit 1
else
echo -e "\033[37;49;1mstart config and install docker run environment!\033[0m"
#curPath1=${curPath//\//\\\/}
#sed -i "s/^ExecStart=.*/ExecStart=${curPath1}\/containerd/g" ${curPath}/${containerd}
#sed -i "s/^ExecStart=.*/ExecStart=${curPath1}\/dockerd -H unix:\/\/\/var\/run\/docker.sock/g" ${curPath}/${docker}
rm -f /usr/lib/systemd/system/${curPath}/${containerd}
rm -f /usr/lib/systemd/system/${curPath}/${docker}
cp ${curPath}/${containerd} /usr/lib/systemd/system/
cp ${curPath}/${docker} /usr/lib/systemd/system/
rm -f /usr/bin/containerd
rm -f /usr/bin/containerd-shim
rm -f /usr/bin/docker
rm -f /usr/bin/docker-init
rm -f /usr/bin/ctr
rm -f /usr/bin/dockerd
rm -f /usr/bin/docker-proxy
rm -f /usr/bin/runc
cp ${curPath}/containerd /usr/bin/
cp ${curPath}/containerd-shim /usr/bin/
cp ${curPath}/docker /usr/bin/
cp ${curPath}/docker-init /usr/bin/
cp ${curPath}/ctr /usr/bin/
cp ${curPath}/dockerd /usr/bin/
cp ${curPath}/docker-proxy /usr/bin/
cp ${curPath}/runc /usr/bin/
echo -e "\033[37;49;1mdocker config finish!\033[0m"
systemctl daemon-reload
if [ $? -ne 0 ]; then
echo -e "\033[31;49;1msystemctl daemon-reload error! \033[0m"
exit 1
fi
systemctl start containerd
if [ $? -ne 0 ]; then
echo -e "\033[31;49;1msystemctl start containerd error! \033[0m"
exit 1
fi
systemctl start docker
if [ $? -ne 0 ]; then
echo -e "\033[31;49;1msystemctl start docker error! \033[0m"
exit 1
fi
echo -e "\033[37;49;1mdocker install finish!\033[0m"
fi
}
install_nvidia_container_toolkit(){
if [ -z "`command -v nvidia-smi`" ]; then
echo -e "\033[37;49;1mno NVIDIA drivers detected!\033[0m"
return
else
if [ -z `rpm -qa | grep nvidia-container-toolkit` ]; then
rpm -ivh nvidia-container-toolkit/* --nodeps
echo -e "\033[37;49;1mnvidia container toolkit rpms install finish!\033[0m"
fi
fi
}
check_environment(){
if [ -n "`command -v docker`" ]; then
if [ -z "`command -v nvidia-smi`" ]; then
echo -e "\033[32;49;1mDocker install success! \033[0m"
else
if [ -n `rpm -qa | grep nvidia-container-toolkit` ]; then
echo -e "\033[32;49;1mDocker install success! \033[0m"
else
echo -e "\033[31;49;1mDocker install error! \033[0m"
fi
fi
else
echo -e "\033[31;49;1mDocker install error! \033[0m"
fi
}
unstall_docker_env(){
echo -e "\033[37;49;1mstart uninstall docker environment!\033[0m"
systemctl stop docker
systemctl stop containerd
rm -f /usr/lib/systemd/system/${curPath}/${containerd}
rm -f /usr/lib/systemd/system/${curPath}/${docker}
systemctl daemon-reload
rm -f /usr/bin/containerd
rm -f /usr/bin/containerd-shim
rm -f /usr/bin/docker
rm -f /usr/bin/docker-init
rm -f /usr/bin/ctr
rm -f /usr/bin/dockerd
rm -f /usr/bin/docker-proxy
rm -f /usr/bin/runc
rm -f `command -v docker`
echo -e "\033[37;49;1muninstall docker environment finish!\033[0m"
}
help(){
echo -e "Usage: deploy_docker.sh [OPTIONS]
Options:
#\t\033[32;49;1muninstall\033[0m -u uninstall docker environment
\t\033[32;49;1minstall\033[0m -i install docker environment
\t\033[32;49;1mhelp\033[0m -h print usage \n"
exit
}
case $1 in
-i|install)
install_docker_env
install_nvidia_container_toolkit
check_environment
;;
-u|uninstall)
unstall_docker_env
;;
-h|help|*)
help
;;
esac
没有合适的资源?快使用搜索试试~ 我知道了~
离线docker安装包
共14个文件
rpm:3个
service:2个
dockerd:1个
需积分: 0 3 下载量 111 浏览量
2023-10-11
16:29:48
上传
评论
收藏 61.23MB ZIP 举报
温馨提示
离线docker安装包,安装步骤查看发布的离线安装步骤
资源推荐
资源详情
资源评论
收起资源包目录
离线docker安装包.zip (14个子文件)
docker
deploy_docker.sh 5KB
docker-19.03.0
containerd.service 487B
docker-init 746KB
runc 8.12MB
nvidia-container-toolkit
libnvidia-container1-1.3.3-1.x86_64.rpm 87KB
libnvidia-container-tools-1.3.3-1.x86_64.rpm 43KB
nvidia-container-toolkit-1.4.2-2.x86_64.rpm 820KB
docker 62.59MB
containerd-shim 5.76MB
docker-proxy 2.72MB
containerd 32.92MB
docker.service 998B
ctr 18.59MB
dockerd 68.33MB
共 14 条
- 1
资源评论
疯人院长sir
- 粉丝: 34
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功