From fea2281ea66538153b40574c5b7dc063df533219 Mon Sep 17 00:00:00 2001 From: "Hongli Lai (Phusion)" Date: Mon, 19 Jan 2015 17:13:08 +0100 Subject: [PATCH] Update SSH information --- index.html | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index 712722a..e3c44fb 100644 --- a/index.html +++ b/index.html @@ -180,11 +180,10 @@ CMD ["/my_app/start.sh"]

Many apps use cron services. But cron jobs never get run until the cron daemon is running in your container.

The cron daemon is not run automatically. You have to start it yourself.

-
SSH daemon
+
SSH daemon (sometimes)
-

Your container is a full OS. It can run all kinds of things. Occasionally, you will have to administer it, e.g. checking its CPU usage and memory usage, inspecting what your app is doing, etc.

-

It's hard to do that properly from outside the container. You really should have a way to login to the container. That's why you should run an SSH daemon, so that you can SSH into the container.

-

The SSH daemon is not run automatically. You have to start it yourself.

+

Occasionally, you may want to run a command inside the container for contingency reasons. For example you may want to debug your misbehaving app. docker exec provides a great way of doing this, but unfortunately there are a number of drawbacks. For example, users who run docker exec must have access to the Docker daemon, and that way they essentially have root access over the Docker host.

+

If that is problematic, then you should use SSH to log into the container instead. SSH has its own issues, like requiring key management, but that way you can prevent people from getting root access on the Docker host.

@@ -208,8 +207,8 @@ CMD ["/my_app/start.sh"]

Baseimage-docker is a special Docker image that is configured for correct use within Docker containers. It is Ubuntu, plus:

Also, every single one of the aforementioned problems are taken care of for you.

@@ -237,17 +236,15 @@ CMD ["/my_app/start.sh"]
Fixes APT incompatibilities with Docker
See Docker issue #1024.
-
Workarounds for Docker bugs
-
Learn more.
syslog-ng
It runs a syslog daemon so that important system messages don't get lost.
cron daemon
It runs a cron daemon so that cronjobs work.
SSH server

Allows you to easily login to your container to inspect or administer things.

-

SSH is only one of the methods provided by baseimage-docker for this purpose. The other method is through the nsenter tool. SSH is also provided as an option because nsenter has many issues.

+

SSH is only one of the methods provided by baseimage-docker for this purpose. The other method is through `docker exec`. SSH is also provided as an option because `docker exec` has issues.

Password and challenge-response authentication are disabled by default. Only key authentication is allowed.

-

In some cases, running the SSH daemon is not desirable. The SSH daemon can be easily disabled if you so wish.

+

The SSH daemon is disabled by default.

runit

Used for service supervision and management. Much easier to use than SysV init and supports restarting daemons when they crash. Much easier to use and more lightweight than Upstart.