0
点赞
收藏
分享

微信扫一扫

docker一键安装

辰鑫chenxin 2022-04-03 阅读 82
docker脚本
#!/bin/bash
#Author: 臆想的一只猫
#Created: 2022-04-03 16:09:16
#Description: docker install : https://docs.docker.com/engine/install/centos/

# 卸载已安装的docker
function uninstall_docker() {
  
  yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
}

# 安装gcc环境
IS_GCC=`rpm -qa | grep gcc`
function install_gcc() {
   
  if [[ ${IS_GCC} ]];
  then
    echo "Has benn installed gcc,pleaase continue to install docker!"
  else
    yum -y install gcc gcc-c+
    echo "gcc has been installed!!!"
  fi
}

# 安装所需的软件包
function install_software() {
  echo "install yum-utils....."
  yum -y install yum-utils
  echo “set stable mirrors repository...”
  yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  echo "update yum cache..."
  yum makecache fast
}

# 安装docker容器
function install_docker() {
   yum -y install docker-ce docker-ce-cli containerd.io
}

# 设置开机启动,并启动docker
function start_docker() {

  systemctl enable docker
  systemctl start docker
  docker version
}

# 配置镜像加速器
function set_mirror() {
  
 `mkdir -p /etc/docker`
 `tee /etc/docker/daemon.json <<-'EOF' \
{ \
  "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"] \
} \  
EOF`
 sleep 5
 `systemctl daemon-reload`
 `systemctl restart docker`
}

# readme
function message() {
  echo '运行完此脚本,docker已经安装完成,但是会有一些问题,从而导致docker无法启动...'
  echo '这是因为在配置镜像加速器的时候,此脚本虽然已经将镜像加速器配置完成...'
  echo '但是,它没有交互,所以在/etc/docker/daemon.json文件中没有添加配置完成之后的内容...'
  echo '所以这个时候发现docker无法启动,不要着急,只需要...'
  echo 'vim /etc/docker/daemon.json'
  echo '添加以下内容:'
  echo '{ '
  echo -e '\t"registry-mirrors": ["https://registry.docker-cn.com"]'
  echo '}'
  echo '然后重启docker就可以了...'
}

IS_DOCKER=`rpm -qa | grep docker`
if [[ ${IS_DOCKER} ]];
then
  echo "Has benn installed docker,It is now begin uninstalled..."
  uninstall_docker
  install_gcc
  install_software 
  install_docker
  echo "docker install successful..."
  start_docker
  set_mirror
  message
else
  echo "start install docker..."
  install_gcc
  install_software
  install_docker
  echo "docker install successful..."
  start_docker
  set_mirror
  message
fi



举报

相关推荐

0 条评论