为了适应无互联网环境的docker环境安装,编写一个docker二进制包的安装脚本
阿里云二进制包下载地址: mirrors.aliyun.com/docker-ce/l…
安装脚本
vi install_docker.sh 写入以下脚本内容
# 定义需要用到的变量
docker_package_name=docker-18.03.1-ce.tgz # 安装包名称
docker_root_dir=/home/docker # images、容器文件存放目录
registry_mirrors="https://p9i73rsy.mirror.aliyuncs.com" # 镜像仓库地址,一般配置成国内镜像源
# 判断命令是否执行成功
isSuccess(){
if [ $? -eq "0" ]; then
echo "$1成功"
else
echo "$1失败"
exit 1
fi
}
# 解压安装包
tar xzvf $docker_package_name
isSuccess 解压
# 安装程序包
mv docker/* /usr/bin/
rm -rf docker
# 生成系统服务配置文件
echo "[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 --graph $docker_root_dir
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target">>/usr/lib/systemd/system/docker.service
isSuccess 生成系统服务配置文件
# 配置加速镜像
mkdir -p /etc/docker # 创建文件夹
#创建文件并写入内容
echo "{
\"registry-mirrors\": [\"$registry_mirrors\"],
\"log-driver\": \"json-file\",
\"log-opts\": {
\"max-size\": \"10m\",
\"max-file\": \"5\"
}
}">>/etc/docker/daemon.json
isSuccess 配置加速镜像
# 重载环境变量
systemctl daemon-reload
isSuccess 重载环境变量
#设置docker服务开机启动
systemctl enable docker
isSuccess 设置docker服务开机启动
# 启动docker服务
systemctl start docker.service
isSuccess 启动docker服务
isSuccess docker服务安装
安装脚本执行结果
[root@shizc ~]# ./install_docker.sh
docker/
docker/docker-init
docker/runc
docker/docker
docker/docker-proxy
docker/containerd
docker/ctr
docker/dockerd
docker/containerd-shim
解压成功
生成系统服务配置文件成功
配置加速镜像成功
重载环境变量成功
设置docker服务开机启动成功
启动docker服务成功
docker服务安装成功
卸载脚本
vi uninstall_docker.sh 写入以下脚本内容
docker_root_dir=/home/docker # images、容器文件存放目录
rm -f /usr/lib/systemd/system/docker.service
rm -f /etc/docker/daemon.json
rm -rf /usr/bin/docker-init
rm -rf /usr/bin/runc
rm -rf /usr/bin/docker
rm -rf /usr/bin/docker-proxy
rm -rf /usr/bin/containerd
rm -rf /usr/bin/ctr
rm -rf /usr/bin/dockerd
rm -rf /usr/bin/containerd-shim
rm -rf $docker_root_dir
echo "卸载成功"