MonteCarloClub / kether

kether schedules and manages docker containers for blockchain services
MIT License
0 stars 2 forks source link

`ImagePull` 有时抛错,重试即可解决 #18

Open KofClubs opened 2 years ago

KofClubs commented 2 years ago

我若干次遇到这个问题。例如,YAML 文件如下:

name: http-https-echo-server
kind: deploy
predicate:
  repository: mendhak/http-https-echo
priority:
  tag: 23
requirement:
  detach: true
  network_list:
    - kether-net:172.*.0.1
  publish_list:
    - 8443:8443

对应的 Docker 镜像存在于本地,我运行命令:

./bin/kether deploy -f test/http_https_echo_server.yml

抛错:

{"level":"info","msg":"logger inited","time":"2022-04-05 23:04:41.832"}
{"level":"info","msg":"logger inited","time":"2022-04-05 23:04:41.832"}
{"level":"info","msg":"redis client inited","time":"2022-04-05 23:04:41.833"}
{"level":"info","msg":"redis client inited","time":"2022-04-05 23:04:41.833"}
{"level":"info","msg":"docker api client inited","time":"2022-04-05 23:04:41.833"}
{"level":"info","msg":"docker api client inited","time":"2022-04-05 23:04:41.833"}
{"key":"state_http-https-echo-server","level":"info","msg":"state of kether object set","time":"2022-04-05 23:04:41.841","value":"1"}
{"level":"info","msg":"state of kether object set","name":"http-https-echo-server","state":1,"time":"2022-04-05 23:04:41.841"}
{"level":"info","msg":"kether object registered","time":"2022-04-05 23:04:41.841"}
{"imageName":"mendhak/http-https-echo:23","level":"info","msg":"docker image will be pulled from remote repository","time":"2022-04-05 23:04:41.841"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x104c724b8]

goroutine 1 [running]:
github.com/MonteCarloClub/kether/container.PullDockerImage({0x104fba778?, 0x140003fd920?}, {0x1400002e0e0, 0x1a})
    /Users/zhang/Documents/Repositories.nosync/kether/container/image.go:55 +0x1b8
github.com/MonteCarloClub/kether/object.Deploy({0x104fba778, 0x140003fd920}, 0x140003fdb90, 0x140001bc930)
    /Users/zhang/Documents/Repositories.nosync/kether/object/deploy.go:60 +0x130
github.com/MonteCarloClub/kether/cmd.glob..func1(0x105336500?, {0x104dbc207?, 0x2?, 0x2?})
    /Users/zhang/Documents/Repositories.nosync/kether/cmd/deploy.go:58 +0x138
github.com/spf13/cobra.(*Command).execute(0x105336500, {0x14000378d20, 0x2, 0x2})
    /Users/zhang/Documents/Repositories.nosync/kether/vendor/github.com/spf13/cobra/command.go:860 +0x4ac
github.com/spf13/cobra.(*Command).ExecuteC(0x105336780)
    /Users/zhang/Documents/Repositories.nosync/kether/vendor/github.com/spf13/cobra/command.go:974 +0x354
github.com/spf13/cobra.(*Command).Execute(...)
    /Users/zhang/Documents/Repositories.nosync/kether/vendor/github.com/spf13/cobra/command.go:902
github.com/MonteCarloClub/kether/cmd.Execute()
    /Users/zhang/Documents/Repositories.nosync/kether/cmd/root.go:52 +0x2c
main.main()
    /Users/zhang/Documents/Repositories.nosync/kether/main.go:29 +0x20

我重试命令,这次正常运行:

{"level":"info","msg":"logger inited","time":"2022-04-05 23:06:33.986"}
{"level":"info","msg":"logger inited","time":"2022-04-05 23:06:33.986"}
{"level":"info","msg":"redis client inited","time":"2022-04-05 23:06:33.986"}
{"level":"info","msg":"redis client inited","time":"2022-04-05 23:06:33.986"}
{"level":"info","msg":"docker api client inited","time":"2022-04-05 23:06:33.986"}
{"level":"info","msg":"docker api client inited","time":"2022-04-05 23:06:33.986"}
{"key":"state_http-https-echo-server","level":"info","msg":"state of kether object set","time":"2022-04-05 23:06:33.991","value":"1"}
{"level":"info","msg":"state of kether object set","name":"http-https-echo-server","state":1,"time":"2022-04-05 23:06:33.991"}
{"level":"info","msg":"kether object registered","time":"2022-04-05 23:06:33.991"}
{"imageName":"mendhak/http-https-echo:23","level":"info","msg":"docker image will be pulled from remote repository","time":"2022-04-05 23:06:33.991"}
{"level":"info","msg":"docker image pulled","refStr":"mendhak/http-https-echo:23","time":"2022-04-05 23:06:38.093"}
{"level":"info","msg":"docker image pulled","time":"2022-04-05 23:06:38.093"}
{"id":"6046fda4c6d0292e6c9183dfa78c62da3b6be9322242008bdf24593462504adc","level":"info","msg":"container created","time":"2022-04-05 23:06:38.133"}
{"level":"info","msg":"container created","time":"2022-04-05 23:06:38.133"}
{"id":"6046fda4c6d0292e6c9183dfa78c62da3b6be9322242008bdf24593462504adc","level":"info","msg":"container started in background","time":"2022-04-05 23:06:38.351"}
{"level":"info","msg":"container run in {foreground|background}","time":"2022-04-05 23:06:38.351"}
{"key":"state_http-https-echo-server","level":"info","msg":"state of kether object set","time":"2022-04-05 23:06:38.352","value":"2"}
{"level":"info","msg":"state of kether object set","name":"http-https-echo-server","state":2,"time":"2022-04-05 23:06:38.352"}
{"level":"info","msg":"state of kether object set","name":"http-https-echo-server","state":2,"time":"2022-04-05 23:06:38.352"}
{"level":"info","msg":"kether object deployed","time":"2022-04-05 23:06:38.352"}
KofClubs commented 2 years ago

@hillmoonbird 你也尝试复现一下。 目前我不知道在怎样的情况下这个问题将出现。