A container registry is a storage to hold docker images which can be used in the private and public docker runners. See GitLab Container Registry for details.
Private images should no use the public runner for security reasons.
The public docker runner pulls images only if they don’t already exist. So the job starts faster, if the image has been stored.
This example uses an image with an OpenSUSE linux. It is created here: https://gitlab.version.fz-juelich.de/sharedrunner/opensuse
test: image: gitlab.version.fz-juelich.de:5555/sharedrunner/opensuse tags: - public-docker script: - uname -a
You may create your own docker image by creating a project
https://gitlab.version.fz-juelich.de/username/projectname with enabled GitLab Container Registry.
The image will be available here:
The Hugo image is used to create this documentation. See Hugo example for more detailed imformation.
pages: image: jojomi/hugo tags: - public-docker script: - hugo version - hugo artifacts: paths: - public
The public docker runner pulls images only if they don’t already exist (if-not-present pull policy). If the runner finds a local version of the image, it uses it even if the image could not be pulled because of missing credentials.
On public-docker, the following sequence would be possible: