php editor Xiaoxin introduces you how to get the exit code of a Docker container that is not running. When using Docker, sometimes we need to view the exit code of the container when it exits for troubleshooting or debugging. However, when the container is not running, we cannot directly use the `docker logs` command to get the exit code. In this article, we will introduce a method to get the exit code of a non-running Docker container to help you better deal with container-related issues.
I need to get the exit code of a container that is in a non-running state. I know the container is not running, I am getting this information from different sources.
Is there a way in Docker's go SDK to get the exit code without having to wait for the container to be in a certain state?
For example, what does WaitResponse
of ContainerWait
provide?
Is it a good solution to simply call ContainerWait
when my container no longer exists? Or is there a better solution?
I'm particularly interested in avoiding ContainerWait
because I can see that call being very expensive.
Each container call to consting takes approximately 10 milliseconds if the container's state is stopped, and 20 to 50 milliseconds if the container is restarted.
The exit code is located in the containerstate
structure. This is embedded in the state field in the <code>
response(*client).containerinspect().
For example:
func checkExitStatus(ctx context.Context, client *client.Client, containerID string) error { inspection, err := client.ContainerInspect(ctx, containerID) if err != nil { return err } // Possible values are listed in the `ContainerState` docs; there do not // seem to be named constants for these values. if inspection.State.Status != "exited" { return errors.New("container is not exited") } if inspection.State.ExitCode != 0 { return fmt.Errorf("container exited with status %d", inspection.State.ExitCode) } return nil }
The above is the detailed content of How to get the exit code of a non-running Docker container. For more information, please follow other related articles on the PHP Chinese website!