summaryrefslogtreecommitdiff
path: root/docs/sources/examples/running_ssh_service.md
blob: a8405e748e38545ab2d754ca55c37d6351940178 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
page_title: Dockerizing an SSH service
page_description: Installing and running an SSHd service on Docker
page_keywords: docker, example, package installation, networking

# Dockerizing an SSH Daemon Service

The following `Dockerfile` sets up an SSHd service in a container that you
can use to connect to and inspect other container's volumes, or to get
quick access to a test container.

    # sshd
    #
    # VERSION               0.0.1

    FROM     ubuntu:12.04
    MAINTAINER Thatcher R. Peskens "thatcher@dotcloud.com"

    # make sure the package repository is up to date
    RUN apt-get update

    RUN apt-get install -y openssh-server
    RUN mkdir /var/run/sshd
    RUN echo 'root:screencast' |chpasswd

    EXPOSE 22
    CMD    ["/usr/sbin/sshd", "-D"]

Build the image using:

    $ sudo docker build -t eg_sshd .

Then run it. You can then use `docker port` to find out what host port
the container's port 22 is mapped to:

    $ sudo docker run -d -P --name test_sshd eg_sshd
    $ sudo docker port test_sshd 22
    0.0.0.0:49154

And now you can ssh to port `49154` on the Docker daemon's host IP
address (`ip address` or `ifconfig` can tell you that):

    $ ssh root@192.168.1.2 -p 49154
    # The password is ``screencast``.
    $$

Finally, clean up after your test by stopping and removing the
container, and then removing the image.

    $ sudo docker stop test_sshd
    $ sudo docker rm test_sshd
    $ sudo docker rmi eg_sshd