From 2758ab07dcd4037d2e1c0426a1608a16b1dec433 Mon Sep 17 00:00:00 2001 From: Snrat Date: Mon, 28 Jul 2025 15:38:27 +0800 Subject: [PATCH] Fix Issue with Podman Unable to Create PHP Runtime Website (#9697) * Update website.go * Update container.go --- agent/app/service/container.go | 19 +++++++++++++++++++ agent/app/service/website.go | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/agent/app/service/container.go b/agent/app/service/container.go index 44fcf0b1d..8a8f8efe1 100644 --- a/agent/app/service/container.go +++ b/agent/app/service/container.go @@ -1240,6 +1240,25 @@ func checkImageExist(client *client.Client, imageItem string) bool { return false } +func checkImageLike(imageName string) bool { + cli, err := docker.NewDockerClient() + if err != nil { + return false + } + images, err := cli.ImageList(context.Background(), image.ListOptions{}) + if err != nil { + return false + } + for _, img := range images { + for _, tag := range img.RepoTags { + if strings.Contains(tag, imageName) { + return true + } + } + } + return false +} + func pullImages(task *task.Task, client *client.Client, imageName string) error { dockerCli := docker.NewClientWithExist(client) options := image.PullOptions{} diff --git a/agent/app/service/website.go b/agent/app/service/website.go index 269a8baaf..cbdf2e1f5 100644 --- a/agent/app/service/website.go +++ b/agent/app/service/website.go @@ -388,7 +388,7 @@ func (w WebsiteService) CreateWebsite(create request.WebsiteCreate) (err error) switch runtime.Type { case constant.RuntimePHP: if runtime.Resource == constant.ResourceAppstore { - if !checkImageExist(nil, runtime.Image) { + if !checkImageLike(runtime.Image) { return buserr.WithName("ErrImageNotExist", runtime.Name) } website.Proxy = fmt.Sprintf("127.0.0.1:%s", runtime.Port)