ubuntu离线安装docker-20.10.12~3-0

862 阅读1分钟

ubuntu离线安装docker-20.10.12~3-0

该教程主要为没有外网环境的ubuntu主机离线安装dockerdocker-compose

前置配置检查

如果系统中有multipath-tools服务,则需要配置排除sda磁盘

  • 编辑/etc/multipath.conf文件
blacklist {
  devnode "sda"
}
  • 重启multipath-tools服务
systemctl restart mutipath-tools

离线文件准备

准备安装

  • 复制文件到指定文件夹中,如/alidata/softwore/docker
root@u-k8s-master:/alidata/software/docker# ls
containerd.io_1.4.13-1_amd64.deb  docker-ce_20.10.12_3-0_ubuntu-focal_amd64.deb  docker-ce-cli_20.10.12_3-0_ubuntu-focal_amd64.deb
  • 编写安装脚本install-docker.sh
#!/bin/bash
GREEN="\033[32m"
BLUE="\033[34m"
NC="\033[0m"
docker version > /dev/null 2>>$(dirname $0)/docker_install_error
DOCKER_CHECK_RES=$?
# docker安装
if [[ ${DOCKER_CHECK_RES} == 0 ]]; then
  echo -e "${GREEN}docker already installed! ${NC}"
  DOCKER_VERSION=`docker version|grep Version|head -n 1`
  echo -e "${GREEN}$DOCKER_VERSION${NC}"
else
  echo -e "${GREEN}start install docker${NC}"
  # need order install
  sudo dpkg -i $(dirname $0)/containerd.io_*.deb
  sudo dpkg -i $(dirname $0)/docker-ce-cli_*.deb
  sudo dpkg -i $(dirname $0)/docker-ce_*.deb
  echo -e "${GREEN}start docker and enable auto start${NC}"
  systemctl start docker
  systemctl enable docker
  DOCKER_VERSION=`docker version|grep Version|head -n 1`
  echo -e "${GREEN}$DOCKER_VERSION${NC}"
fi
# docker-compose安装
docker-compose version >/dev/null 2>>$(dirname $0)/docker_install_error
DOCKER_COMPOSE_CHECK_RES=$?
if [[ $DOCKER_COMPOSE_CHECK_RES == 0 ]]; then
  echo -e "${GREEN}docker-compose already installed! ${NC}"
  echo -e `docker-compose version`
else
  echo -e "${GREEN}start install docker-compose${NC}"
  cp $(dirname $0)/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
  chmod +x /usr/local/bin/docker-compose
  echo -e `docker-compose version`
fi
  • 执行脚本安装
bash install-docker.sh
# 查看docker版本
docker version
  • (如果要卸载,则编写以下脚本)uninstall-docker.sh
#!/bin/sh
GREEN="\033[32m"
BLUE="\033[34m"
NC="\033[0m"
# dpkg -l | grep container # 该语句是查询docker容器的相关依赖
sudo sudo apt-get remove --purge docker-ce
sudo sudo apt-get remove --purge docker-ce-cli
sudo sudo apt-get remove --purge containerd.io
  • 执行卸载脚本
bash uninstall-docker.sh

27.3.1版本安装

先下载需要的包

wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.7.22-1_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_27.3.1-1~ubuntu.20.04~focal_amd64.deb
wget --no-check-certificate https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_27.3.1-1~ubuntu.20.04~focal_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-buildx-plugin_0.17.1-1~ubuntu.20.04~focal_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-compose-plugin_2.29.7-1~ubuntu.20.04~focal_amd64.deb

安装

sudo dpkg -i ./containerd.io_1.7.22-1_amd64.deb ./docker-ce_27.3.1-1~ubuntu.20.04~focal_amd64.deb ./docker-ce-cli_27.3.1-1~ubuntu.20.04~focal_amd64.deb ./docker-buildx-plugin_0.17.1-1~ubuntu.20.04~focal_amd64.deb ./docker-compose-plugin_2.29.7-1~ubuntu.20.04~focal_amd64.deb

卸载

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done