jesseduffield / lazydocker

The lazier way to manage everything docker
MIT License
37.08k stars 1.19k forks source link

See empty/black screen when running lazydocker #5

Closed maksimu closed 5 years ago

maksimu commented 5 years ago

After fresh/first time install of lazydocker on my Mac and running that command in the terminal (same in iTerm). I see a black screen from which I can't also exit out (Ctrl+C)

Here is the screen I see: image

Here are some things I could get out to try to debug:

➜  ~ lazydocker -v 
commit=1f6971e2ffcef09983ae9cf8134dce36a7ba7e63, build date=2019-06-30T02:16:45Z, build source=binaryRelease, version=0.2.1, os=darwin, arch=amd64
➜  ~ lazydocker -config
gui:
  scrollHeight: 2
  theme:
    activeBorderColor:
    - green
    - bold
    inactiveBorderColor:
    - white
    optionsTextColor:
    - blue
reporting: undetermined
commandTemplates:
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  dockerCompose: docker-compose
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
    }}
  containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
  containers:
  - name: bash
    attach: true
    command: docker exec -it {{ .Container.ID }} /bin/sh
    serviceNames: []
oS:
  openCommand: open {{filename}}
  openLinkCommand: open {{link}}
update:
  method: never
stats:
  graphs:
  - caption: CPU (%)
    statPath: DerivedStats.CPUPercentage
    color: cyan
  - caption: Memory (%)
    statPath: DerivedStats.MemoryPercentage
    color: green

When running: lazydocker -debug I see the same black screen

➜  ~ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.14.5 (18F132)
      Kernel Version: Darwin 18.6.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      ...
      ...
      System Integrity Protection: Enabled
      Time since boot: 19 days 22:12
kiawin commented 5 years ago

I'm getting the same blank screen running in Archlinux.

Version

$ lazydocker -v
commit=1f6971e2ffcef09983ae9cf8134dce36a7ba7e63, build date=2019-06-30T02:17:10Z, build source=binaryRelease, version=0.2.1, os=linux, arch=amd64

Config

$ lazydocker -config
gui:
  scrollHeight: 2
  theme:
    activeBorderColor:
    - green
    - bold
    inactiveBorderColor:
    - white
    optionsTextColor:
    - blue
reporting: undetermined
commandTemplates:
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  dockerCompose: docker-compose
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
    }}
  containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
  containers:
  - name: bash
    attach: true
    command: docker exec -it {{ .Container.ID }} /bin/sh
    serviceNames: []
oS:
  openCommand: sh -c "xdg-open {{filename}} >/dev/null"
  openLinkCommand: sh -c "xdg-open {{link}} >/dev/null"
update:
  method: never
stats:
  graphs:
  - caption: CPU (%)
    statPath: DerivedStats.CPUPercentage
    color: cyan
  - caption: Memory (%)
    statPath: DerivedStats.MemoryPercentage
    color: green

Gets the same screen when i run lazydocker -debug.

jesseduffield commented 5 years ago

alright this one is going to be tricky to debug :P When you use the -debug flag, logs will be written to development.log in a path like to /Users/<your user name>/Library/Application Support/jesseduffield/lazydocker.

I think for linux it's ${HOME}/.config/jesseduffield/lazydocker or ${XDG_CONFIG_HOME}/jesseduffield/lazydocker.

Could you check to see if anything gets logged to that file before the app gets stuck?

jesseduffield commented 5 years ago

ah, I just tested to see what happened when I opened the program after exiting my docker daemon, and I too now get the blank screen. I think all we can really do here is to close the program with a useful error message.

Are your docker daemons running when you try to open lazydocker? For reference I'm using Docker Desktop for Mac

jesseduffield commented 5 years ago

Have a go at this release, I believe it will solve the immediate issue: https://github.com/jesseduffield/lazydocker/releases/tag/v0.2.2

kiawin commented 5 years ago

My bad, I didn't realise my docker daemon was dead. Thanks! :D

maksimu commented 5 years ago

Yeap, my Docker was off, so I just started it and now I see expected screen

maksimu commented 5 years ago

Now I'm getting expected error when my Docker is not running and I'm on lazydocker 2.4

➜  ~ lazydocker
2019/06/30 10:13:01 An error occurred! Please create an issue at https://github.com/jesseduffield/lazydocker/issues

*errors.errorString Error response from daemon: Bad response from Docker engine
write unix ->vms/0/connect: write: broken pipe
/go/src/github.com/jesseduffield/lazydocker/main.go:68 (0x141c2d9)
/usr/local/go/src/runtime/proc.go:200 (0x102d1ac)
/usr/local/go/src/runtime/asm_amd64.s:1337 (0x1057e61)

Thanks for fixing it so quickly!