clixon/docker/base/README.md
2019-02-12 11:11:04 +01:00

47 lines
1.7 KiB
Markdown

# Clixon base docker image
This directory contains code for building and pushing the clixon base docker
container. By default it is pushed to docker hub clixon/clixon, but you can change
the IMAGE in Makefile.in and push it to another name.
The clixon docker base image can be used to build clixon
applications. It has all the whole code for a clixon release which it
downloads from git.
See [clixon-system](../system/README.md) for a more complete clixon image.
## Build and push
Perform the build by `make docker`.
You may also do `make push` if you want to push the image, but you may then consider changing the image name (in the makefile:s).
You may run the container directly by going directly to example and
the docker runtime scripts there
(You may have to login for push with sudo docker login -u <username>)
## Example run
The following shows a simple example of how to run the example
application. First,the container is started, then the backend is startend in the background inside the container, and finally the CLI is started in the foreground.
```
$ sudo docker run --name clixon --rm -td clixon/clixon
$ sudo docker exec -it clixon clixon_backend -s init -f /usr/local/etc/example.xml
$ sudo docker exec -it clixon clixon_cli -f /usr/local/etc/example.xml
> set interfaces interface e
> show configuration
interfaces {
interface {
name e;
enabled true;
}
}
> q
$ sudo docker kill clixon
```
Note that this is a special case since the example is
already a part of the installation. If you want to add your own
application, such as plugins, cli syntax files, yang models, etc, you
need to extend the base container with your own additions.