suse-linux:~
Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel \r (\l).
suse-linux:~
Linux suse-linux 4.4.73-5-default
suse-linux:~
● SuSEfirewall2.service - SuSEfirewall2 phase 2
Loaded: loaded (/usr/lib/systemd/system/SuSEfirewall2.service; disabled; vendor preset: disabled)
Active: inactive (dead)
`README:`
'此脚本是二进制的方式部署docker,比较适合suse 12发行版的linux,centots和redhat,可以使用yum的方式部署'
'脚本默认部署的是19.03.9版本的docker,需要其他版本,修改getPackage函数内version变量即可'
'本地没有网络的情况下,提前准备好tgz二进制包,并注释getPackage函数内的wget这一行即可'
'imageJson内配置了阿里云镜像加速,如果有自己的私仓,可以修改这里面的内容'
set -e
getPackage(){
local version=docker-19.03.9
wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/${version}.tgz
tar xf ${version}.tgz
}
setService(){
mv docker/* /usr/bin/ && rm -rf docker
cat > /etc/systemd/system/docker.service <<-EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
}
imageJson(){
mkdir /etc/docker
cat > /etc/docker/daemon.json <<-EOF
{
"registry-mirrors": ["https://bk6kzfqm.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
systemctl daemon-reload && \
systemctl enable docker --now
}
main(){
getPackage
setService
imageJson
}
main
status=$(ps -ef | grep [do]cker | wc -l )
if [ ${status} -gt 1 ];
then
echo "docker is running"
else
echo "have some error!"
exit 1
fi