#!/usr/bin/env bash
red=31
green=32
yellow=33
blue=34
set -e
# 检测系统架构,目前支持 arm64 和 amd64
os=`uname -a`
if [[ $os =~ 'aarch64' ]];then
architecture="arm64"
elif [[ $os =~ 'x86_64' ]];then
architecture="amd64"
else
colorMsg $red "暂不支持的系统架构,请参阅官方文档,选择受支持的系统"
fi
docker_compose_version="1.29.0"
docker_version="19.03.15"
function colorMsg()
{
echo -e "\033[$1m $2 \033[0m"
}
function log() {
message="[DICD Log]: $1 "
echo -e "${message}" 2>&1 | tee -a ${CURRENT_DIR}/install.log
}
echo
cat << EOF
░█▀▀░▀█▀░█▀▀░█▀▄
░█░░░░█░░█░░░█░█
░▀▀▀░▀▀▀░▀▀▀░▀▀░
EOF
colorMsg $yellow "\n\n开始安装 harbor,版本 - 1.10.8"
if [ ! $CURRENT_DIR ];then
CURRENT_DIR=$(cd "$(dirname "$0")";pwd)
fi
# 配置 DICD
function set_dir() {
if read -t 120 -p "设置DICD安装目录,默认/app: " DICD_BASE;then
if [ "$DICD_BASE" != "" ];then
echo "你选择的安装路径为 $DICD_BASE"
if [ ! -d $DICD_BASE ];then
mkdir -p $DICD_BASE
fi
else
DICD_BASE=/app
echo "你选择的安装路径为 $DICD_BASE"
fi
else
DICD_BASE=/app
echo "(设置超时,使用默认安装路径 /app)"
fi
}
# 解压离线文件
function unarchive() {
if [ -d ${CURRENT_DIR}/docker ];then
# 离线安装
log "... 解压离线包"
#tar -zxvf ${CURRENT_DIR}/harbor-offline-installer-v1.10.8.tgz -C $DICD_BASE/ > /dev/null 2>&1
else
# 在线安装
log "... 在线安装 "
fi
}
# 配置docker,私有 docker 仓库授信
function config_docker() {
if [ $(getenforce) == "Enforcing" ];then
log "... 关闭 SELINUX"
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
fi
log "... 关闭 Firewalld"
systemctl stop firewalld | tee -a ${CURRENT_DIR}/install.log
systemctl disable firewalld | tee -a ${CURRENT_DIR}/install.log
if [ -r /etc/docker/daemon.json ];then
mv -n /etc/docker/daemon.json /etc/docker/daemon.json.bak
else
mkdir -p /etc/docker
fi
cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://gbpursha.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.9.125","192.168.9.45"],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
systemctl daemon-reload | tee -a ${CURRENT_DIR}/install.log
systemctl restart docker | tee -a ${CURRENT_DIR}/install.log
}
# 检测 docker 是否存在
function install_docker() {
if which docker docker-compose ;then
log "... docker 已经安装,跳过安装步骤"
config_docker
if systemctl status docker|grep running;then
log "... docker 运行正常"
else
log "... docker 已经安装,跳过安装步骤"
fi
else
if [[ -d docker ]]; then
log "... 离线安装 docker"
rpm -ivh docker/*.rpm --nodeps --force
cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
log "... 配置 docker"
config_docker
log "... 启动 docker"
systemctl start docker 2>&1 | tee -a ${CURRENT_DIR}/install.log
systemctl enable docker 2>&1 | tee -a ${CURRENT_DIR}/install.log
else
log "... 不支持在线安装 docker"
fi
fi
}
# 加载镜像
function load_image() {
export COMPOSE_HTTP_TIMEOUT=180
if [[ -d ${CURRENT_DIR}/images ]]; then
log "... 加载镜像"
cd $CURRENT_DIR
for i in $(ls images); do
docker load -i images/$i 2>&1 | tee -a ${CURRENT_DIR}/install.log
done
else
log "... 拉取镜像"
cd -
fi
}
# 启动 harbor
function harbor_start() {
log "... 开始启动 harbor"
chmod +x harbor/prepare
chmod +x harbor/install.sh
./harbor/install.sh
}
function main() {
set_dir
unarchive
install_docker
load_image
harbor_start
}
main
没有合适的资源?快使用搜索试试~ 我知道了~
内网离线安装docker、docker-compose
共22个文件
rpm:20个
sh:1个
docker-compose-linux-x86_64:1个
5星 · 超过95%的资源 需积分: 14 67 下载量 51 浏览量
2023-03-29
16:49:17
上传
评论 2
收藏 120.91MB RAR 举报
温馨提示
一键离线安装docker、docker-compose
资源推荐
资源详情
资源评论
收起资源包目录
docker_install.rar (22个子文件)
docker
libxml2-python-2.9.1-6.el7.5.x86_64.rpm 247KB
policycoreutils-python-2.5-34.el7.x86_64.rpm 457KB
python-IPy-0.75-6.el7.noarch.rpm 32KB
containerd.io-1.4.6-3.1.el7.x86_64.rpm 33.5MB
python-kitchen-1.1.1-5.el7.noarch.rpm 267KB
docker-ce-20.10.7-3.el7.x86_64.rpm 26.61MB
docker-ce-cli-20.10.7-3.el7.x86_64.rpm 33.11MB
docker-scan-plugin-0.8.0-3.el7.x86_64.rpm 4.17MB
container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm 40KB
fuse3-libs-3.6.1-4.el7.x86_64.rpm 82KB
setools-libs-3.3.8-4.el7.x86_64.rpm 620KB
audit-libs-python-2.8.5-4.el7.x86_64.rpm 76KB
libcgroup-0.41-21.el7.x86_64.rpm 66KB
libsemanage-python-2.5-14.el7.x86_64.rpm 113KB
slirp4netns-0.4.3-4.el7_8.x86_64.rpm 81KB
fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm 54KB
yum-utils-1.1.31-54.el7_8.noarch.rpm 122KB
checkpolicy-2.5-8.el7.x86_64.rpm 295KB
docker-ce-rootless-extras-20.10.7-3.el7.x86_64.rpm 9.21MB
python-chardet-2.2.1-3.el7.noarch.rpm 227KB
docker-compose-Linux-x86_64 12.15MB
install.sh 4KB
共 22 条
- 1
资源评论
- yxldr2023-07-25在内网环境下安装docker和docker-compose一直是个难题,这个文件解决了这个问题,提供了简单有效的解决方案。
- 明儿去打球2023-07-25文件中的步骤和示例代码非常清晰,即使没有一点儿经验,也能够轻松地按照指导安装docker和docker-compose。
- 我只匆匆而过2023-07-25这个文件详细地介绍了docker和docker-compose的安装方式,对于不太熟悉这两个工具的人来说,是一个很好的教程。
- 我有多作怪2023-07-25对于没有互联网连接的内网环境,这个文件提供了简洁明了的步骤,能够帮助你轻松搭建docker和docker-compose环境。
- 永远的122023-07-25这个文件真实地介绍了如何在内网环境下离线安装docker和docker-compose,非常实用。
huangdi7
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功