离线安装Docker
卸载冲突的包
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
先删除docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
删除之前的镜像、容器和卷(可选)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
安装iptables
sudo apt-get install iptables
#出错了执行命令修复
apt --fix-broken install
https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/
带ce的是社区免费版
下这五个文件
下载好的镜像传到服务器,我使用的Windterm,直接拖到左边的文件管理器就行
把内容替换为你下的包的版本和架构
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<version>_<arch>.deb \./docker-ce-cli_<version>_<arch>.deb \./docker-buildx-plugin_<version>_<arch>.deb \./docker-compose-plugin_<version>_<arch>.deb
例如我的是
sudo dpkg -i ./containerd.io_1.6.33-1_amd64.deb \./docker-ce_26.1.4-1~debian.12~bookworm_amd64.deb \./docker-ce-cli_26.1.4-1~debian.12~bookworm_amd64.deb \./docker-buildx-plugin_0.14.1-1~debian.12~bookworm_amd64.deb \./docker-compose-plugin_2.27.1-1~debian.12~bookworm_amd64.deb
重复该过程即可升级Docker
#开机自启动
sudo systemctl enable docker.service
#启动docker
systemctl start docker
#查看docker状态,断开shell重新连接就可以了,直接ctrl+c会停掉
systemctl status docker
离线安装Docker镜像
找一台能进Dockerhub的虚拟机或者主机,要装有docker
#拉取镜像
docker pull nginx
#指定镜像版本并打包
docker save nginx:latest > nginx.tar
#打包的文件在当前目录,pwd查看,使用远程连接工具下载镜像并上传到你自己的服务器
#在你要用但不能访问dockerhub的服务器上加载镜像
docker load -i nginx.tar
#查看镜像
docker images
#删除镜像
docker rmi 镜像名
#使用镜像创建容器,也可以:版本 来指定版本,这只是一个基本例子,真正用不能这样,要挂载数据
docker run -itd --name nginx -p 80:80 nginx
#停止容器
docker stop nginx
#删除容器
docker rm nginx