ubuntu离线安装docker-20.10.12~3-0
该教程主要为没有外网环境的
ubuntu主机离线安装docker和docker-compose
前置配置检查
如果系统中有
multipath-tools服务,则需要配置排除sda磁盘
- 编辑
/etc/multipath.conf文件
blacklist {
devnode "sda"
}
- 重启
multipath-tools服务
systemctl restart mutipath-tools
离线文件准备
- docker-ce-cli_20.10.12
3-0ubuntu-focal_amd64.deb - containerd.io_1.4.13-1_amd64
- docker-ce_20.10.12
3-0ubuntu-focal_amd64 - docker-compose_2.6.0
准备安装
- 复制文件到指定文件夹中,如
/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