centos7下如何离线安装docker和docker-compose
具体安装步骤如下:

(推荐教程:docker教程)
实测版本说明
centos:7.5
docker:19.03.5
docker-compose:1.24.3
官方资源下载地址
自行下载需要的版本。 [docker](https://download.docker.com/linux/static/stable/x86_64/) [docker-compose](https://github.com/docker/compose/releases)
上传到服务器
上传 install-docker-offline.sh docker.service docker-ce docker-compose-Linux-x86_64压缩包到任意的同一文件夹下 建议到/home
执行
sh install-docker-offline.sh 其他的根据脚本提示操作
install.sh
#!/bin/sh
echo -e '作者:Teler'
echo -e '版本:v0.0.1'
echo -e '创建时间:2020-02-02'
echo -e '更新时间:2020-02-02 22:21'
echo -e '给自己赋权限\\n'
chmod +x ./$0
#初始化
function init(){
clear
echo -e '请选择操作\\n'
echo -e '1.安装docker\\n'
echo -e '2.安装docker-compose\\n'
echo -e 'exit:退出'
call
}
#决定调用什么方法
function call(){
echo -e '\\n'
read -p '请输入:' INPUT
case $INPUT in
1)
installDocker
;;
2)
installDockerCompose
;;
*)
#noFound
echo '感谢使用........'
exit
;;
esac
if [ $? -eq 0 ];then
init
fi
}
#安装docker
function installDocker(){
read -p '请输入完整的docker压缩包文件名:' FILENAME
searchFile $FILENAME
if [ $? -ne 0 ];then
echo -e '\\n文件不存在'
installDocker
fi
echo -e '\\n解压文件...'
tar -xzvf $FILENAME
if [ $? -eq 0 ];then
echo -e '\\n将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
if [ $? -ne 0 ];then
echo -e '\\n复制失败'
exit
fi
echo -e '\\n将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
if [ $? -eq 0 ];then
echo -e '\\n添加文件权限...'
chmod +x /etc/systemd/system/docker.service
if [ $? -ne 0 ];then
echo -e '\\n添加失败'
exit
fi
echo -e '\\n重新加载配置文件...'
systemctl daemon-reload
if [ $? -ne 0 ];then
echo -e '\\n加载失败'
exit
fi
echo -e '\\n启动docker...'
systemctl start docker
if [ $? -ne 0 ];then
echo -e '\\n启动失败'
exit
fi
echo -e '\\n设置开机自启...'
systemctl enable docker.service
if [ $? -ne 0 ];then
echo -e '\\n开机启动失败'
exit
fi
echo -e '\\ndocker版本:'
docker -v
else
echo -e '\\n复制失败'
exit
fi
else
echo -e '\\n解压失败'
exit fi
return 0
}
#安装docker-compose
function installDockerCompose(){
read -p '请输入完整的docker compose文件名:' FILENAME
searchFile $FILENAME
if [ $? -ne 0 ];then
echo -e '\\n文件不存在'
installDockerCompose
fi
echo -e '\\n复制文件到/usr/local/bin下 并重命名为docker-compose'
cp -y $FILENAME /usr/local/bin/docker-compose
if [ $? -ne 0 ];then
echo -e '\\n赋予执行权限'
chmod +x /usr/local/bin/docker-compose
echo '\\ndocker-compose版本:'
docker-compose -v
else
echo '\\n复制失败'
fi
return 0
}
#暂未支持
function noFound(){
echo -e '暂未支持'
return 0
}
#检查文件是否存在
#存在返回0 不存在返回1
function searchFile(){
if [ -f "$1" ]; then
return 0
else
return 1
fi
}
initdocker.service
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
分享名称:centos7下如何离线安装docker和docker-compose
文章转载:http://www.scyingshan.cn/article/cpshdp.html


咨询
建站咨询
