How To Use Docker Toolbox With MPB

From MOD Wiki
Jump to navigation Jump to search

Introduction

This is a quick start guide to get the mod-plugin-plugin working inside docker, running in Windows or MacOS.

If you're not using Linux please install Docker Toolbox, so you can access docker from within a nice pre-setup VM for it.

Pre-compiled image

note: The current pre-compiled image can only compile plugins for the DUO. There will be a new pre-compiled version available soon that can build plugins for both DUO and DUO X. At this moment(date: May 29th 2019), there are Docker images available that can build plugins for both platforms but these are not pre-compiled(see section:Full build (advanced, long))


After you install and run docker toolbox you should be presented with a command-line interface.
This console is actually running Linux inside a virtual machine, but without you having to do any configuration or setup.

To begin, we download the pre-compiled mod-plugin-builder docker image by running:

$ docker run -ti --name mpb -p 9000:9000 moddevices/mod-plugin-builder

If you wish to have a local folder accessible inside the docker environment, use the '-v' argument with the local and docker mapped folder joined by a semi-colon. Like this:

$ docker run -ti --name mpb -p 9000:9000 -v ~/local-mod-folder:/tmp/local-mod-folder moddevices/mod-plugin-builder

Some notes:

  • The image size is around 1Gb, split across several files.
  • The previous commands will create a new docker environment every time you run them. You only need them once.


After you close the console window, you can resume where you left off by running:

$ docker start -i mpb

Full build (advanced, long)

If you don't want to use a pre-compiled image, you can build mod-plugin-builder yourself. To begin, start docker and navigate to the docker directory:

$ git clone --depth 1 git://github.com/moddevices/mod-plugin-builder
$ cd mod-plugin-builder/docker

After that you can chose to either create an image for compiling plugins for the DUO, or for the DUO X.

To create a DUO image run:

$ docker build -t modduox-plugin-builder --build-arg platform=modduo .

Or to create a DUO X image run:

$ docker build -t modduox-plugin-builder --build-arg platform=modduox .

Note: It will take a very long time...

After it's done, we create a container from mod-plugin-builder by running:

$ docker run -ti --name mpb -p 9000:9000 -v ~/local-mod-folder:/tmp/local-mod-folder mod-plugin-builder
$ exit

That's it, the command to start the mod-plugin-builder environment is:

$ docker start -i mpb


You can find more information about docker here.