The setup depends whether soneone already prepared settings and a docker_image_development fork for your project or not.
When you are starting from scratch, see below
- Clone the your docker_image_development
git clone git@git.hb.dfki.de:MY_PROJECT/docker_image_development.gitPROJECTNAMEcd PROJECTNAME
- Setup Docker (if not already done on that PC):
- sudo apt install docker.io
- sudo adduser $(id -un) docker
- Optionally setup nvidia 3D accelleration
- Logout of computer and login again
- Prepare pulling the image (if need to pull new image):
- If you have a private registry for the devel images:
- Connect VPN (if you need it)
- Do Registry Login, e.g.,
docker login USER@d-reg.hb.dfki.de(one time setup steps and more info)
- Pull image and start container (if not already available, additional information)
./exec.bash devel- If this does not download a new image check if you executed the steps under 4.
- If downloading does not work, you can build your own devel image
cd image_setup/02_devel_imagebash build.bash
- Setup workspace:
- Run workspace setup in container shell
/opt/setup_workspace.bash - Build workspace as usual
- Run workspace setup in container shell
- Fork docker_image_development (or create/push this repo to your private/company git server)
- Clone your fork of docker_image_development (as in "already prepared howto" above)
- Setup Docker (as above, if not already done on that PC)
- Edit settings.bash
- set the project name (PROJECT_NAME)
- defines the name of the images created
- optionally set your registry url (DOCKER_REGISTRY)
- see documentation in settings.bash
- you can define different registries for different image stages (BASE_REGISTRY, DEVEL_REGISTRY, FROZEN_REGISTRY, RELEASE_REGISTRY)
- default: base images are public (docker default registry), all other go to defined DOCKER_REGISTRY)
- select a base image (WORKSPACE_BASE_IMAGE).
- building ontop of an existing public base images can save hdd space (shared base layers among multiple workspaces using docker_image_development)
- They only contain public libraries installed with apt, and scripts from this repo.
- In case you don't trust the public base images, you can build your own
- set the project name (PROJECT_NAME)
- Prepare a devel image link), and push it to a registry, if you have one (probably a private one in your company, set in the settings.bash)
- Set the default execmode to "devel" in settings.bash
- git push the changes you made in this repo to your fork of docker_image_development (settings.bash, Dockerfiles, setup_workspace.bash)
Other devs can now use the "already prepared" setup above.