--- title: Installing MBSE BBS in Docker date: 2018-09-04 13:07:50 thumbnail: /images/mbse.png categories: - Docker - MBSE BBS tags: - Docker - BBS --- The following is the instructions on how to install [MBSE BBS](http://sourceforge.net/projects/mbsebbs) in a Docker Container. These instructions have been compiled using Docker on a Raspberry Pi. I'll provide instructions in another post on how to get Docker installed. My image is available in my Docker Registry and can be obtained by using `docker pull registry.leenooks.net/leenooks/mbse:1.0.7.8`. You can use this image to run a container using `docker run`, or you can use it in a *swarm*, if you have multiple hosts. I actually use Docker Swarm myself. **NOTE**: Its important that you separate "data" from the "application" and provide a persistent storage path for your container (otherwise if you recreate your container, you'll loose your data!). On my setup my container persistent storage is storage in `/srv/docker/[CONTAINER]/data`. In the parent path (/srv/docker/[CONTAINER]) I keep my scripts and tools for managing the container and starting it - and since I use Docker Swarm, that is where my `.yml` file is. ## Preparation 1. Download your favourite Linux OS and install 2. Install Docker 3. Pull the MBSE container with ``` docker pull registry.leenooks.net/leenooks/mbse:1.0.7.8 ``` 4. Create your persistent storage destination ``` mkdir -p /srv/docker/mbse/data ``` ## Starting 5. Start your container with ``` docker run -d --rm -p 10023:23 -v /srv/docker/mbse/data:/opt/mbse/data --name=mbse leenooks/mbse:1.0.7.8 ``` The first time the container starts, it will create sub directories and fill your data directory. The options on this command line are:
Option | Reason |
---|---|
-d | Run the container in the background |
-p | Port mapping from the host:container. So using 10023:23 will mean any incoming connections on the *host* to port 10023 will be sent to the *container* on port 23. This will enable you to telnet into your MBSE. |
-rm | Means the container will be destroyed when it is stopped. (No problem if *-v* is used below. |
-v | Volume mapping from the host:container. A value of /srv/docker/mbse/data:/opt/mbse/data means that any data in the *container* written to /opt/mbse/data, will be stored on the *host* /srv/docker/mbse/data. |