Allocate VM on Nebula
Log into Nebula and create a VM under the project NDSLabsDev.
Be sure to select a size. If you are unsure which to use, you likely should use "large" or "medium".
Networking Gotchas
DO NOT forget to generate / import an SSH key for this machine, or else you will never be able to get into it.
Be sure to add Permissions to this VM:
- remote SSH
- remote HTTP
Clone the Source Repo
To start, you will need the code. Clone it and change into the new directory:
git clone https://github.com/nds-org/nds-labs
cd nds-labs/
NOTE: Once we have an NDSDEV image circulating (potentially in DockerHub?), this step should no longer be necessary.
Build the NDSDEV image:
Execute the following command at the project root to build up the ndsdev image:
. ./devtools/ndsdev/ndsdevctl build
This will create a data container to hold the source code mapped to your host VM. This should allow your code / changes to survive container restarts.
NOTE: It is interesting to note that you should be able to access the data on any volumes defined by the container without it needing to run.
To remove the image built by this step, you can run:
. ./devtools/ndsdev/ndsdevctl rmi
Run or remove a container from the NDSDEV image:
You should then be able to run this image using:
. ./devtools/ndsdev/ndsdevctl run
Stop the container and remove it from docker (i.e. clean):
. ./devtools/ndsdev/ndsdevctl rm
NDSDEV Usage
To start a stopped NDSDEV container:
. ./devtools/ndsdev/ndsdevctl start
To get back to a running instance of NDSDEV:
. ./devtools/ndsdev/ndsdevctl attach
Stop the container:
. ./devtools/ndsdev/ndsdevctl stop
Stop, the start the container:
. ./devtools/ndsdev/ndsdevctl restart
Tips and Tricks
Leave container running, but temporarily exit its shell:
CTRL+P, CTRL+Q, CTRL+C
Leave and stop the container:
exit