提交 05d09fc7 作者: 李星宇

离线一键安装docker

上级
.idea
imaptool.exe
logs/
uploads/
\ No newline at end of file
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target
[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
# Comment TasksMax if your systemd version does not supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target
\ No newline at end of file
{
"registry-mirrors": [
"https://e0413b8560774061801d01765c93b263.mirror.swr.myhuaweicloud.com",
"https://registry.cn-hangzhou.aliyuncs.com"
],
"data-root": "/zzsn/workspace/lib",
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-opts":{ "max-size" :"10m","max-file":"5"},
"insecure-registries": ["0.0.0.0/0"]
}
[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
[Unit]
Description=Docker Socket for the API
PartOf=docker.service
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
#!/bin/bash
# author: lixingyu
# 官网地址: https://gitee.com/os_lee
DOCKER_VERSION=20.10.24
DOCKER_COMPOSE_VERSION=2.18.1
FILENAME=docker-${DOCKER_VERSION}.tar.gz
DOCKER_COMPOSE_FILE=docker-compose-v${DOCKER_COMPOSE_VERSION}
URL=https://download.docker.com/linux/static/stable/x86_64
DOCKER_COMPOSE_URL=https://hub.nuaa.cf/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64
DOWNLOAD=./download
BASE_DIR=./tmp
# 二进制安装
function InstallDocker(){
echo "创建解压路径"
if [ ! -d ${BASE_DIR} ]; then
install -d ${BASE_DIR}
fi
echo "解压软件包到指定目录"
tar -zxvf ${DOWNLOAD}/${FILENAME} -C ${BASE_DIR}
echo "复制docker-compose"
cp -p $DOWNLOAD/${DOCKER_COMPOSE_FILE} ${BASE_DIR}/docker/docker-compose
chown root:root -R ${BASE_DIR}/docker/*
chmod 755 -R ${BASE_DIR}/docker/*
echo "复制二进制文件到/usr/bin/目录,创建用户组"
# 复制二进制文件到/usr/bin/目录,创建用户组
cp -p ${BASE_DIR}/docker/* /usr/bin/
groupadd docker
rm -rf ${BASE_DIR}
echo "配置镜像加速"
install -d /etc/docker
cp $DOWNLOAD/daemon.json /etc/docker/daemon.json
echo "开机自启动"
# 开机自启动脚本
sudo cp $DOWNLOAD/docker.socket /etc/systemd/system
sudo cp $DOWNLOAD/docker.service /etc/systemd/system
sudo cp $DOWNLOAD/containerd.service /etc/systemd/system
chmod a+x /etc/systemd/system/docker.service
chmod a+x /etc/systemd/system/docker.socket
chmod a+x /etc/systemd/system/containerd.service
systemctl daemon-reload
systemctl enable --now docker
docker version
docker-compose version
tput setaf 2
echo "安装成功,欢迎使用【oslee】的docker安装脚本,欢迎下次使用!---> https://gitee.com/os-lee"
}
# 卸载docker
function UninstallDocker(){
# 停止docker服务
systemctl disable docker.service
# 卸载启动脚本
rm -f /etc/systemd/system/docker.service
rm -f /etc/systemd/system/docker.socket
rm -f /etc/systemd/system/containerd.service
systemctl daemon-reload
# 清空程序目录
rm -rf ${BASE_DIR}/docker
# 清除docker
rm -f /usr/bin/{containerd,containerd-shim,containerd-shim-runc-v2,ctr,docker,dockerd,docker-init,docker-proxy,runc,docker-compose}
# 使得终端变粉色
tput setaf 1
echo "卸载成功,欢迎再次使用【oslee】二进制docker安装脚本哟~ ----> https://gitee.com/os-lee"
}
# yum安装
function YumDocker(){
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce-19.03.13 -y
# 配置镜像加速
install -d /etc/docker
cp $DOWNLOAD/daemon.json /etc/docker/daemon.json
systemctl daemon-reload
systemctl enable --now docker
}
# 程序的入口函数
function main(){
# 判断传递的参数
case $1 in
"install")
InstallDocker
;;
"remove")
UninstallDocker
;;
"yum")
YumDocker
;;
*)
echo "Invalid parameter, Usage: $0 install | remove | yum"
;;
esac
}
# 向入口函数传参
main $1
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论