更新:问题已解决, Docker 镜像还在更新
Image Layers 的第 18 层命令为
RUN /bin/sh -c set -ex; curl -fsSL -o kodbox.zip "https://api.kodcloud.com/?app/version&download=server.link"; unzip kodbox.zip -d /usr/src/kodbox/; sed -i "s/MyISAM/InnoDB/g" /usr/src/kodbox/app/controller/install/data/mysql.sql; rm kodbox.zip # buildkit
这的确下载了最新版的 Kodbox 。但是 Kodbox 的程序文件在 Docker 容器中存放在 /var/www/html
,而这个文件夹挂载到了 Host 文件系统上,更新 Docker 镜像不会覆盖这些文件。
正确的更新方法是,下载最新版 Kodbox 发行文件,将压缩包放到 Kodbox 的 config
目录,在 Kodbox 控制面板中点击自动更新即可。
--- 原问题
使用 Docker 安装的 Kodbox 显示版本是 1.43 (截止目前最新版本 1.48)。刚开始我尝试 kodcloud/kodbox:latest
标签,版本不是最新。因本人 Docker 不精,怀疑是自己的问题,又尝试用 digest 指定镜像版本 sha256:232d6b957bf3383706662f95be42088b8b7d67738001cf82ebde441574ad3ce5
这是 Docker Hub 上的最新 arm64 镜像,启动后仍然显示版本是 1.43
请问我的操作有问题吗?还是 Docker 镜像确实没有更新?
下附我的 Docker Compose 文件
version: '3.5'
services:
app:
image: kodcloud/kodbox@sha256:232d6b957bf3383706662f95be42088b8b7d67738001cf82ebde441574ad3ce5
ports:
- 2080:443 #左边80是使用端口,可以修改
volumes:
- "./kodbox/site:/var/www/html" #./site是站点目录位置,可以修改
- "/extern:/extern"
- "./certs:/etc/nginx/ssl"
- "/srv:/srv"
depends_on:
- redis
networks:
- kodbox_network
restart: always
redis:
image: redis:alpine
environment:
- "TZ=Asia/Shanghai"
networks:
- kodbox_network
restart: always
networks:
kodbox_network: