Docker
Docker a wrapper around virtualisation interfaces including its own libcontainerd and LXC. See Docker (software) on enwiki.
Installation
To install Docker on Debian: apt-get install docker.io (note it's NOT just "docker", that's an entirely unrelated package)
Browsing images
https://tools.wmflabs.org/dockerregistry/
Building images
For services we recommend using the Deployment pipeline which is Blubber.
For other docker images, like infrastructure images, we manage them differently, see: Kubernetes/Images#Image_building
To just test building a random image a http server without state is a good candidate.
There is a Blubber/Tutorial/HelloWorld that shows how to convert a Blubber file to a Docker file and then build it.
Updating an image
Updating CI docker images
When updating CI images follow the documentation at mw:Continuous integration/Docker MediaWiki. The basic process is:
- Update the changelog of the appropriate image to force a docker image rebuild. You can use docker-pkg (see MediaWiki page above)
- Update the image version in the CI job specification
Deleting an image (from registry)
To delete one or more Docker image tags from the WMF docker registry, you may use the tool docker-registryctl
on the current build host. It will do it's best to remove the tags/image from the registry, despite the circumstances.