From charlesreid1

Revision as of 18:54, 19 April 2017 by Admin (talk | contribs)

Docker is a way of deploying apps on servers. It packages apps into side-by-side containers. These are similar in spirit to virtual machines, but different because containers are not (or, don't have to be) fully bundled operating systems. The container system makes sure everything runs the same everywhere.

It's like Homebrew or Aptitude for apps.

april 19 debugging

Cannot reach container, no netstat in the container to check if sockets are open.

Troubleshooting: here and here are both useful pages.

To run netstat in the container, even if netstat is not available in the container, run

sudo nsenter -t `docker inspect -f '{{.State.Pid}}'`

References

Docker's documentation is excellent: https://docs.docker.com/

Docker command line: https://docs.docker.com/engine/reference/commandline/cli/#environment-variables

Docker run: https://docs.docker.com/engine/reference/commandline/run/#full-container-capabilities---privileged

Docker to run memcached (Digital Ocean guide): https://www.digitalocean.com/community/tutorials/docker-explained-how-to-create-docker-containers-running-memcached

Note that many Docker issues on Github contain a wealth of useful debugging strategies and commands for checking the state of networks, ports, etc.: https://github.com/docker/docker/issues/13914

How secure are docker containers, really? https://blog.docker.com/2013/08/containers-docker-how-secure-are-they/