suse 12 脚本部署docker(二进制文件)

本文档提供了一个适用于SUSE Linux 12 SP3的Docker 19.03.9手动部署脚本。脚本从清华大学镜像站下载Docker二进制包,并配置了阿里云镜像加速。此外,它还包含了启动和设置Docker服务以及配置daemon.json的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

suse-linux:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 12 SP3  (x86_64) - Kernel \r (\l).
suse-linux:~ # uname -a
Linux suse-linux 4.4.73-5-default #1 SMP Tue Jul 4 15:33:39 UTC 2017 (b7ce4e4) x86_64 x86_64 x86_64 GNU/Linux
suse-linux:~ # systemctl status SuSEfirewall2   # suse的firewalld和centos不一样
● 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内配置了阿里云镜像加速,如果有自己的私仓,可以修改这里面的内容'
#!/usr/bin/env bash
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 --no-check-certificate
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
# 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 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
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
EOF
}

imageJson(){
mkdir /etc/docker
cat > /etc/docker/daemon.json <<-EOF
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值