原因
自从上次使用sealos Cloud重新搭建随机图片后,没过多久就发现随机图片又炸了,检查后发现上次部署时我是拉取了php:7.4-apache
镜像然后直接在容器里加入我的代码,但是这样的后果就是如果容器炸了,它重启后就会使用镜像重新起一个容器,所以我之前加入的代码就没了。所以这次我决定自己制作一个镜像,把代码放到镜像里。诶,当时太懒了~
修复过程
由于docker.io被墙等各种原因,最后选择了使用阿里云的镜像仓库服务来储存我的镜像。
首先先在自己电脑上拉取一个php:7.4-apache
镜像,然后docker run
一个容器出来,把代码放到/var/www/html/
目录下,使用docker commit
来制作镜像,然后push到阿里云的镜像仓库就行。
为了图方便,我把阿里云的镜像仓库设置为了公有,如果有人需要也可以使用,通过以下指令拉取:docker pull registry.cn-hangzhou.aliyuncs.com/oierlin/random-image:v2
TODO
- 目前存的图片都很大,其实不太适合放在网站上。打算有空把图片转换成webp格式。
- 现在的图片目录(img.txt)文件放置在镜像内,每次更新图片目录的时候需要更新镜像。打算把图像目录放置在oss上,以后更新会方便很多。
- 如果做了上一条,也许可以写一个定期更新图像目录的功能。