Container Registry
Publish Open Container Initiative compliant images for your user or organization. The container registry follows the OCI specs and supports all compatible images like Docker and Helm Charts.
Requirements
Section titled “Requirements”To work with the Container registry, you can use the tools for your specific image type.
The following examples use the docker client.
Login to the container registry
Section titled “Login to the container registry”To push an image or if the image is in a private registry, you have to authenticate:
docker login hoyoship.example.comIf you are using 2FA or OAuth use a personal access token instead of the password.
Image naming convention
Section titled “Image naming convention”Images must follow this naming convention:
{registry}/{owner}/{image}
When building your docker image, using the naming convention above, this looks like:
# build an image with tagdocker build -t {registry}/{owner}/{image}:{tag} .# name an existing image with tagdocker tag {some-existing-image}:{tag} {registry}/{owner}/{image}:{tag}where your registry is the domain of your HoyoShip instance (e.g. hoyoship.example.com).
For example, these are all valid image names for the owner testuser:
hoyoship.example.com/testuser/myimage
hoyoship.example.com/testuser/my-image
hoyoship.example.com/testuser/my/image
The registry only supports case-insensitive tag names. So image:tag and image:Tag get treated as the same image and tag.
Linking an image to a repository
Section titled “Linking an image to a repository”Images can be manually linked to a repository so that they appear in its “Packages” tab.
In addition, images can be automatically linked when a package is first created. After creation, no further auto-linking is performed, even when publishing new versions (Docker tags). Auto-linking can be accomplished in two ways:
- By adding a label to the Docker image, for example:
LABEL org.opencontainers.image.source=https://hoyoship.example.com/testuser/myrepo(replace the host, owner, and repository as appropriate) - By naming the image after the repository, for example:
hoyoship.example.com/testuser/myrepo- Nested image names such as
hoyoship.example.com/testuser/myrepo/myimage/myservice[...]are also supported. - Since Docker image names must be lowercase, owner and repository names are treated as case-insensitive.
- Nested image names such as
If both methods match a repository, the repository referenced in the label is preferred.
Push an image
Section titled “Push an image”Push an image by executing the following command:
docker push hoyoship.example.com/{owner}/{image}:{tag}| Parameter | Description |
|---|---|
owner | The owner of the image. |
image | The name of the image. |
tag | The tag of the image. |
For example:
docker push hoyoship.example.com/testuser/myimage:latestFor more information please check the docker push documentation page.
Pull an image
Section titled “Pull an image”Pull an image by executing the following command:
docker pull hoyoship.example.com/{owner}/{image}:{tag}| Parameter | Description |
|---|---|
owner | The owner of the image. |
image | The name of the image. |
tag | The tag of the image. |
For example:
docker pull hoyoship.example.com/testuser/myimage:latest