Private Image Registry

Introduction

Bunnyshell supports connecting also other image registries to your organization, as long as they are Docker compatible and can be connected with a username and a password/token.

To check if your registry can be connected to Bunnyshell, you can run the following docker commands. If they work you can extract the arguments and use them in Bunnyshell connection form and it should also work.

  1. docker login -u <username> -p <password/token> <host>
    1. Replace <username>, <password/token> and <host> with your values
    2. This should be successful and return something like "Login Succeeded"
  2. docker pull alpine:latest
    1. this is just a (small) test image, you are pulling it from DockerHub and you will push it in your registry; you can use any other image for the test
  3. docker tag alpine:latest <host>/<repo-name>/test-image:latest
    1. this just creates another alias for the alpine:latest image
    2. the new alias should be exactly the full URL of an image in your image registry
    3. Bunnyshell assumes there is a <repo-name>, at least a path prefix; if your registry has also a fixed path prefix and then the actual <repo-name> , when connecting to Bunnyshell you should include the path prefix in the Repository Name field
    4. test-image:latest is just a name and tag for the image which will be stored in your registry
  4. docker push <host>/<repo-name>/test-image:latest
    1. this should be successful and you should see the image saved in your registry

Connect your Private Registry

In the Bunnyshell interface

  1. In the sidebar click Integrations and select Container Registries
  2. Click the Connect container registry button and select Private Registry
  3. A new window will pop-up, where you will have to provide the following information
  • Name: pick a name for your registry when you connect it to Bunnyshell
  • Registry URL: the <host> from the above paragraph
  • Repository Name: the <repo-name> from the above paragraph
  • Username: the <username> from the above paragraph
  • Password/Token: the <password/token> from the above paragraph

When connecting Bunnyshell will also try to push a small test image named bunnyshell-integration-test:scratch to make sure the provided credentials are correct and have enough permissions.

Bunnyshell uses by default Kaniko for building images. Sometimes there are permission differences between Docker and Kaniko, so to make sure the connected registry really works with Bunnyshell, we recommend you to make a build in Bunnyshell using the image registry. If you plan to use your custom docker builder, then is no need to make the Kaniko test.