docker / kitematic

Visual Docker Container Management on Mac & Windows
https://kitematic.com
Apache License 2.0
12.25k stars 1.41k forks source link

Kitematic log files #2312

Open twocs opened 7 years ago

twocs commented 7 years ago

Expected behavior

Kitematic has a few issues. For example, due to poor configuration, Exec may fail to connect a Windows container properly. The issue can be solved, but there are no logs to help us. Kitematic needs a logging mechanism.

Actual behavior

The Exec session crashed. No error could be seen in the container logs because the container did not start.

Information about the Issue

Steps to reproduce the behavior

  1. Switch Docker to Windows containers
  2. Get the image microsoft/nanoserver
  3. Run the image (without setting SHELL = powershell.exe)
  4. A Terminal opens then closes immediately
  5. The Container Log displays a nice looking Windows terminal (even though the terminal crashed)
  6. Look around the system but can't find any logs. Check documentation and web but also can't find them.

How was I to know that the Exec command was attempting to run docker exec -it sh? There does not seem to be any logs that record the error. Only by guessing the faulty Exec command could I enter it and find the error manually. The problem would be much easier to solve if there was a log that contained the information about that failed connection. Is there a debug mode?

I would also say that there are a number of different buttons. It would be nice to know what the actual commands are that will be run when clicking each button. The debug mode can include not only the errors, but also what is happening when we click a button. For example, if the Exec button uses command "docker run -it sh" then write that command somewhere as well as any errors or messages that may result from the command.

Logs can help us understand what the bugs are. But exposing how Kitematic is doing what it does will also make it easier for us to understand how Kitematic works so we can transition towards becoming better Docker users.

twocs commented 7 years ago

https://github.com/docker/kitematic/wiki/Current-and-Future-list-items

I note that "Add better error/notification support" is first on the Future list. I'm just proposing that the idea behind that be expanded to also include the commands that Kitematic is running as well as errors/notifications. I'm not sure if docker debug logging can be used to assist in the process.

FrenchBen commented 7 years ago

if the container died after opening a shell, the logs are correct as they are showing the last log, which was the shell you tried to exec. When the container isn't running, it's status changes from Running to Stopped, which indicates that something went wrong. The logs are simply whatever the application spits out, which means that no other info can be had, unless the image owner did.