Merge "Changed the body of flows."
[integration.git] / packaging / docker / README.md
1 ### OpenDaylight Docker Images
2 The `Dockerfile` in this directory can be used to construct a Docker image for the OpenDaylight SDN controller. The current OpenDaylight version is [Helium](http://www.opendaylight.org/software/downloads/helium). Note that Helium uses Karaf to install features, and that the Docker image doesn't install any features by default. You'll need to choose which features to install based on your use-case.
3
4 ### OpenDaylight on DockerHub
5 A pre-built OpenDaylight Helium image is available on DockerHub. You can find it with `docker search opendaylight`:
6
7 TODO: Show example once ODL Helium image is on DockerHub
8
9 You can then pull it to your local system with `docker pull opendaylight/helium`:
10
11 TODO: Show example once ODL Helium image is on DockerHub
12
13 ### Using the Image
14 To run commands against Dockerized OpenDaylight, use `docker run`. `WORKDIR` is set to the root of ODL's install directory, `/opt/opendaylight`. Commands passed to `docker run` should be relative to that path.
15
16 Additional information about running Docker images can be found [here](https://docs.docker.com/reference/run/).
17
18 ### Ports
19 OpenDaylight Helium will expose subsets of the following ports. The actual set of exposed ports for a given controller is determined by the features installed via Karaf.
20
21 TODO: Verify that these are all of the ODL Helium ports and no extra
22
23 * 162 - SNMP4SDN (only when started as root)
24 * 179 - BGP
25 * 1088 - JMX access
26 * 1790 - BGP/PCEP
27 * 1830 - Netconf
28 * 2400 - OSGi console
29 * 2550 - ODL Clustering
30 * 2551 - ODL Clustering
31 * 2552 - ODL Clustering
32 * 4189 - PCEP
33 * 4342 - Lisp Flow Mapping
34 * 5005 - JConsole
35 * 5666 - ODL Internal clustering RPC
36 * 6633 - OpenFlow
37 * 6640 - OVSDB
38 * 6653 - OpenFlow
39 * 7800 - ODL Clustering
40 * 8000 - Java debug access
41 * 8080 - OpenDaylight web portal
42 * 8101 - KarafSSH
43 * 8181 - MD-SAL RESTConf and DLUX
44 * 8383 - Netconf
45 * 12001 - ODL Clustering
46
47 By default these ports will be mapped to random ports on the host system. The mappings can be discovered using the `docker ps` command. 
48
49 If you wish to map these ports to specific ports on the host system, use the `-p <host-port>:<container-port>` flag with `docker run`. Note that [container linking](https://docs.docker.com/userguide/dockerlinks/) is generally recommend over hard-wiring ports with `-p`.