mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-10-23 13:56:17 +08:00
Fix Issue with Podman Unable to Change PHP Runtime in Website Page (#9711)
* Update container.go * Update website.go
This commit is contained in:
parent
82f978c683
commit
40314e9079
2 changed files with 26 additions and 19 deletions
|
@ -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 {
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue