Fix Issue with Podman Unable to Change PHP Runtime in Website Page (#9711)

* Update container.go

* Update website.go
This commit is contained in:
Snrat 2025-07-28 18:34:05 +08:00 committed by GitHub
parent 82f978c683
commit 40314e9079
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 19 deletions

View file

@ -1240,23 +1240,30 @@ func checkImageExist(client *client.Client, imageItem string) bool {
return false return false
} }
func checkImageLike(imageName string) bool { func checkImageLike(client *client.Client, imageName string) bool {
cli, err := docker.NewDockerClient() if client == nil {
if err != nil { var err error
return false client, err = docker.NewDockerClient()
} if err != nil {
images, err := cli.ImageList(context.Background(), image.ListOptions{}) return false
if err != nil { }
return false }
} images, err := client.ImageList(context.Background(), image.ListOptions{})
for _, img := range images { if err != nil {
for _, tag := range img.RepoTags { return false
if strings.Contains(tag, imageName) { }
return true
} for _, img := range images {
} for _, tag := range img.RepoTags {
} parts := strings.Split(tag, "/")
return false imageNameWithTag := parts[len(parts)-1]
if imageNameWithTag == imageName {
return true
}
}
}
return false
} }
func pullImages(task *task.Task, client *client.Client, imageName string) error { func pullImages(task *task.Task, client *client.Client, imageName string) error {

View file

@ -388,7 +388,7 @@ func (w WebsiteService) CreateWebsite(create request.WebsiteCreate) (err error)
switch runtime.Type { switch runtime.Type {
case constant.RuntimePHP: case constant.RuntimePHP:
if runtime.Resource == constant.ResourceAppstore { if runtime.Resource == constant.ResourceAppstore {
if !checkImageLike(runtime.Image) { if !checkImageLike(nil, runtime.Image) {
return buserr.WithName("ErrImageNotExist", runtime.Name) return buserr.WithName("ErrImageNotExist", runtime.Name)
} }
website.Proxy = fmt.Sprintf("127.0.0.1:%s", runtime.Port) website.Proxy = fmt.Sprintf("127.0.0.1:%s", runtime.Port)
@ -1354,7 +1354,7 @@ func (w WebsiteService) ChangePHPVersion(req request.WebsitePHPVersionReq) error
return err return err
} }
defer client.Close() defer client.Close()
if !checkImageExist(client, oldRuntime.Image) { if !checkImageLike(client, oldRuntime.Image) {
return buserr.WithName("ErrImageNotExist", oldRuntime.Name) return buserr.WithName("ErrImageNotExist", oldRuntime.Name)
} }
} }