image
type
Post
status
Published
date
Jan 31, 2024
slug
example-15
summary
某些无法安装docker的VPS可能有效的替代方案
tags
Ubuntu
VPS
HAX
woiden
category
技术分享
icon
password
comments
AI 摘要

Hax机器安装Podman(某些无法安装docker的VPS可能有效的替代方案)

博客逐步迁移中,文章链接可能失效,但博客和文章不会丢(自己翻一下文章列表)
自行确保网络畅通,比如IPv6only的机器安装WARP等。
以下命令均使用root账户操作

安装Podman

安装podman-compose(可选)

如果不需要podman-compose的话,可以不装pip和podman-compose
我测试觉得podman-compose并不太好用,和docker-compose的差别有点点大,特别是网络
Debian11的安装方法
 
Debian12的安装方法

挂载/sys/fs/目录为可读写,Hax机必做

notion image

解决无法拉取镜像的问题

可能是hax机器或者debian11中podman3.x的BUG,导致无法直接在命令行拉取容器,podman pull会失败!
拉取其他第三方镜像就会出现问题,无法拉取!但docker官方的docker.io/library/xxx的却可能可以拉取
notion image
那么第三方镜像怎么拉取呢?我发现在Portainer这个docker管理面板中,可以正常拉取镜像
所以我们需要利用Portainer这个容器来拉取镜像,那么问题来了,Portainer容器的镜像就无法拉取啊,
当然有解决办法,docker为不能连接互联网的机器提供的解决方法是,从可以联网的docker机器,拉取镜像然后保存为文件,自行将文件拷贝到目标机器,在目标机器上读取文件为镜像,这样有了镜像就能创建容器了。
我拉取的是6053537的portainer-ce,他自带中文,你可以用官方的portainer然后自己打中文版补丁 官方portainer/portainer-ce:latest

方法1: 自行从别个docker环境pull save 上传到Hax机器

自行上传.tar文件到Hax机器上

方法2: 用Hax机器直接下载我提供的镜像

可以用我提供的Portainer镜像文件,不放心的自己用方法1,文件在hax,纯IPv6,随时可能失效!

读取文件为镜像

部署Portainer容器

镜像搞定了,接下来部署镜像为容器
Portainer的初始化超时机制,部署后请尽快登录并初始化,否则需要重启容器后才能初始化,重启容器命令 podman restart portainer
WebUI访问地址是 http://IP:9000
如果你也是IPv6only机器,请用IPv6地址访问,例如http://[2602:xxxx:xxxx:xxxx::xxxx]:9000 WARP本身只能出站,不能入站。
cloudflare的小云朵CDN只支持部分端口,80 443 8080 8443等,不包括9000,要访问9000请不要开启小云朵,另外用个二级域名开小云朵
初始化后就可以在portainer中可以拉取镜像了,portainer的使用教程自行百度。
notion image
这样镜像的来源可以不依赖其他机器了,但在portainer中拉取镜像要加上前缀 docker.io/ 例如 docker.io/xhofe/alist:latest
能拉取到镜像,就可以自己玩耍了,尝试用Portainer拉取的镜像,搭建个alist容器
notion image
WebUI访问地址是 http://IP:5244
登录后及时更改掉alist初始用户名密码,具体玩法/忘记密码的解决办法,详见 alist的官网 https://alist.nn.ci/zh/

后话

有可能debian11,机器重启后,设置自启的容器会自启失败,手动重启一下即可,有可以一并放入 /etc/rc.local开机自启的脚本文件,debian12好像不会出现这个问题
podman和docker差不多的,主要差在外部文件配置
这次折腾参考了很多资料,中文/外文的,也问了ChatGPT,充分证实了,通用领域问ChatGPT还行,过于专业的领域/过于深入的东西ChatGPT懂个锤子,就会瞎编,尽耽误人事。。 转自:https://blog.209902.xyz/archives/87
临时邮箱随机图片API接口
Loading...