Docker Images¶
There are multiple Docker images defined within docker/
.
They serve as images for our Gitlab CI or may be used for other development purposes.
The images are also built within the Gitlab CI pipeline and pushed to our Gitlab Docker registry. After logging into the registry
docker login git.kitcar-team.de:4567
all images available can be pulled.
An image built locally can be uploaded to the Gitlab Docker registry with:
docker push git.kitcar-team.de:4567/kitcar/kitcar-gazebo-simulation/...
Docker Images¶
The images can be built by running docker-compose:
docker-compose ${SERVICE}
from docker/
.
Depending on the provided ${SERVICE} different packages are installed:
${SERVICE}=base: No additional packages.
${SERVICE}=cml: Pytorch with CUDA and the CML-Bot are installed. Both are necessary to train or test neural networks and publish the results using CML.
${SERVICE}=kitcar-ros: This image is intended to be used within the kitcar-ros CI pipeline. It adds the whole simulation code and installs some more packages, which are necessary for running the simulation within the kitcar ros CI.
The services cml and kitcar-ros inherit from base.
Docker Compose¶
For simplification we have introduced a docker compose file. It contains the main information about the build configuration of our docker images.
version: '3.8'
services:
base:
image: ${IMAGE_URL}/ci:${CI_IMAGE_TAG}
build:
context: ../
dockerfile: docker/Dockerfile
cml:
image: ${IMAGE_URL}/ci:${CI_IMAGE_TAG_CML}
depends_on:
- base
build:
context: ../
dockerfile: docker/DockerfileCML
args:
PARENT: ${IMAGE_URL}/ci:${CI_IMAGE_TAG}
kitcar-ros:
image: ${IMAGE_URL}/kitcar_ros_ci:${CI_IMAGE_TAG_ROS}
depends_on:
- base
build:
context: ../
dockerfile: docker/DockerfileROS
args:
PARENT: ${IMAGE_URL}/ci:${CI_IMAGE_TAG}