docker和docker-compose一键安装教程(支持在线和离线)

 更新时间:2020年12月02日 16:29:40   作者:Echo flower  
这篇文章主要介绍了docker和docker-compose一键安装(支持在线和离线),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

shell脚本

#!/bin/sh
# 当前目录
CURRENT_DIR=$(
 cd "$(dirname "$0")"
 pwd
)

#Install docker 
if which docker >/dev/null; then
 echo "检测到 Docker 已安装,跳过安装步骤"
 docker -v
 echo "启动 Docker "
 service docker start 2>&1 | tee -a ${CURRENT_DIR}/install.log
else
 if [[ -d "$CURRENT_DIR/docker" ]]; then
  echo "... 离线安装 docker"
	 cp $CURRENT_DIR/docker/centos-local.tgz /root/
	 cd /root && tar -xvzf centos-local.tgz 
  cd /root/docker-ce-local &&rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
  mkdir -p /etc/yum.repos.d/repobak && mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/repobak
  cp $CURRENT_DIR/docker/docker-ce-local.repo /etc/yum.repos.d/docker-ce-local.repo
  cd /root/docker-ce-local &&createrepo /root/docker-ce-local && yum makecache
	 cd $CURRENT_DIR/docker/ &&yum install -y container-selinux-2.9-4.el7.noarch.rpm &&yum install -y docker-ce
	 echo "... 启动 docker"
	 sudo systemctl start docker 2>&1 | tee -a ${CURRENT_DIR}/install.log
	 echo '{"registry-mirrors":["https://registry.docker-cn.com"]}'>/etc/docker/daemon.json
	 cat /etc/docker/daemon.json
	 service docker restart
 else
  echo "... 在线安装 docker"
  curl -fsSL https://get.docker.com -o get-docker.sh 2>&1 | tee -a ${CURRENT_DIR}/install.log
  sudo sh get-docker.sh 2>&1 | tee -a ${CURRENT_DIR}/install.log
  echo "... 启动 docker"
  service docker start 2>&1 | tee -a ${CURRENT_DIR}/install.log
 fi
fi

##Install Latest Stable Docker Compose Release
if which docker-compose >/dev/null; then
 echo "检测到 Docker Compose 已安装,跳过安装步骤"
 docker-compose -v
else
 if [[ -d "$CURRENT_DIR/docker-compose" ]]; then
  echo "... 离线安装 docker-compose"
	 cd $CURRENT_DIR/docker-compose/ && cp docker-compose /usr/local/bin/
	 chmod +x /usr/local/bin/docker-compose
	 docker-compose -version
	 echo "... 离线安装 docker-compose 成功"
 else
  echo "... 在线安装 docker-compose"
  curl -L "https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2>&1 | tee -a ${CURRENT_DIR}/install.log
  chmod +x /usr/local/bin/docker-compose
  ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
	 docker-compose -version
	 echo "... 在线安装 docker-compose 成功"
 fi
fi

如果脚本复制后使用报下面的错误

在这里插入图片描述

请执行

sed -i 's/\r$//' installDocker.sh
chmod +x installDocker.sh

在网络条件不好的情况下建议离线安装,请先下载下面的包

离线的安装包
链接: https://pan.baidu.com/s/1ANDM5v-Z1zmljekc4djAdQ

 提取码: 39dm

到此这篇关于docker和docker-compose一键安装(支持在线和离线)的文章就介绍到这了,更多相关docker和docker-compose安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker搭建minio集群的实现示例

    docker搭建minio集群的实现示例

    Docker MinIO集群是一种基于Docker的MinIO分布式存储解决方案,本文主要介绍了docker搭建minio集群的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • docker 中的–mount 和-v 参数区别解析

    docker 中的–mount 和-v 参数区别解析

    这篇文章主要介绍了docker 中的–mount 和-v 参数区别解析,--mount 更为灵活,适用于更复杂的挂载需求,使用哪种方式主要取决于个人或团队的偏好和具体的使用场景,需要的朋友可以参考下
    2023-12-12
  • Docker打包SpringBoot镜像的实现方式

    Docker打包SpringBoot镜像的实现方式

    docker打包springboot镜像,并不是简单的将springboot项目的jar包上传容器里,然后启动,这个操作很简单,但是如果我每次要查看容器中的日志就需要每次都进入容器内部进行查看,这就非常麻烦了,所以本文介绍了Docker打包SpringBoot镜像的实现方式,需要的朋友可以参考下
    2024-03-03
  • docker容器与centos宿主机时间一致设置方法

    docker容器与centos宿主机时间一致设置方法

    这篇文章主要介绍了docker容器与centos宿主机时间一致设置方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Docker配置容器位置与小技巧总结

    Docker配置容器位置与小技巧总结

    这篇文章主要给大家介绍了关于Docker配置容器位置与小技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Docker构建Java镜像并部署Java项目的完整步骤

    Docker构建Java镜像并部署Java项目的完整步骤

    这篇文章主要给大家介绍了关于Docker构建Java镜像并部署Java项目的完整步骤,Docker是一种容器化技术,可以帮助开发者轻松打包应用程序和依赖项,并在任何地方运行它们,需要的朋友可以参考下
    2023-10-10
  • docker mysql镜像因为配置文件出现错误一直提示重启的解决

    docker mysql镜像因为配置文件出现错误一直提示重启的解决

    这篇文章主要介绍了docker mysql镜像因为配置文件出现错误一直提示重启的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker ps命令详解

    Docker ps命令详解

    Docker ps是用于查看Docker服务器中容器状态(运行/暂停/停止),及批量获取容器基本信息最常用的指令,ps命令具有很多可用的参数,本文给大家介绍Docker ps命令,感兴趣的朋友一起看看吧
    2023-11-11
  • Docker服务的重启服务命令详解(systemctl restart docker)

    Docker服务的重启服务命令详解(systemctl restart docker)

    这篇文章主要介绍了Docker服务的重启服务命令(systemctl restart docker),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 利用drone ci自动化部署静态博客的完整步骤

    利用drone ci自动化部署静态博客的完整步骤

    drone是基于容器的构建服务,配置简单且免费,在 github上也有20Kstar,下面这篇文章主要给大家介绍了关于利用drone ci自动化部署静态博客的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论