[openstack-dev] [kolla] Diagnosing problems with containers
Lars Kellogg-Stedman
lars at redhat.com
Fri Sep 26 14:29:00 UTC 2014
As people are starting to look at Kubernetes and Docker, there have
been a number of questions regarding how to diagnose problems with
containers. Here are a few useful hints:
## Docker logs
Docker captures stdout/stderr from the main process and makes this
available via the `docker log` command. That is, if your Dockerfile
looks like this:
FROM fedora
RUN yum -y install mariadb; yum clean all
CMD mysql --this-is-a-terrible-idea
And you were to have Kubernetes launch an image built from that file
and wanted to diagnose why it wasn't working, you could run `docker
logs <container_name_or_id>` and see:
mysql: unknown option '--this-is-a-terrible-idea'
## Using 'nsenter'
The `nsenter` command is available in recent coreutils packages. It
allows you to run commands inside existing namespaces.
A useful shortcut is to place the following inside a script and call
it "docker-enter":
#!/bin/sh
nsenter -t $(docker inspect \
--format '{{ .State.Pid }}' $CONTAINER) \
-m -u -i -n -p -w "$@"
Now you can run `docker-enter <container_name_or_id>` to start a shell
inside the specified container.
Once inside the container, you may want to see the environment
variables passed to PID 1 to ensure that service discovery is
operating correctly. You can do that via:
tr '\000' '\012' < /proc/1/environ
You can of course inspect anything on the filesystem, although ideally
your application is logging to stdout/stderr and not to local files.
If you know your container's ENTRYPOINT and CMD entries, you can run
those by hand to see exactly what is happening.
--
Lars Kellogg-Stedman <lars at redhat.com> | larsks @ {freenode,twitter,github}
Cloud Engineering / OpenStack | http://blog.oddbit.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140926/2cd12369/attachment.pgp>
More information about the OpenStack-dev
mailing list