Monday, December 7, 2020

Deploy your favorite Bitnami containers directly from the new Amazon Elastic Container Registry Public

By Brad Bock, Senior Manager Product Marketing for Bitnami Community Catalog

It has always been Bitnami’s mission to make our library of open source software as accessible to developers as possible. In keeping with that tradition, we are excited to share that we have published the entire Bitnami Community Catalog library of open source containers in the recently announced Amazon Elastic Container Registry Public (ECR Public). Bitnami container images in ECR Public can be downloaded and deployed anywhere using the familiar Docker pull command; no AWS account or other authentication needed.
Search results for Bitnami apps in ECR Public

Using Bitnami software in ECR Public is easy. Simply navigate to the ECR Public Gallery page and do a quick search for Bitnami. You will see that over 180 results come back - all the Bitnami-packaged open source applications and building blocks you know and love. 

New registry, same Bitnami usability and best practices

Each container listing in ECR Public has its own page that can be accessed through the gallery. For Bitnami container images, we populate each page with detailed information on how to use that particular application or app building block. There are also links to our extensive documentation for more information about every container Bitnami publishes.
Bitnami's PostgreSQL page in ECR Public

If you click the Image Tags tab in any of the Bitnami pages, you will see that for each image we publish multiple versions and tags. For applications with multiple versions continuously supported by their upstream projects, we typically package and continuously update images for each version. This eliminates version compatibility issues that may arise if you are already using a certain version of an application and want to switch to Bitnami-packaged containers.

On the Bitnami PostgreSQL page, for example, you can see by looking at the Image Tags tab that we support versions 9 through 13. Additionally, you will see that we use a variety of rolling and immutable tags in order to support using the containers in development and production scenarios.
PostgreSQL rolling and immutable image tags

In order to ensure that the system packages and bundled components are always the latest and most secure versions, we rebuild and release our entire container library in ECR Public every day. To learn more about how you can leverage image tagging and other best practices applied to Bitnami containers, see our recent tutorial about best practices for securing and hardening container images.

Try Bitnami containers from ECR Public for yourself

For a very simple demonstration of how you can use Bitnami containers from ECR Public, let’s deploy Drupal in your local environment using the Bitnami Drupal container and Bitnami MariaDB container.

To follow these instructions you will need a computer with a Unix command line that has Docker environment and CURL installed.

First, create a directory for Drupal and change to that directory:

$ mkdir drupal && cd drupal

Now, download the Bitnami Drupal docker-compose file from GitHub:

$ curl -sSL > docker-compose.yml

Now let’s take a look at the file you downloaded:

$ nano docker-compose.yml

You will notice two images specified in the drupal.image and mariadb.image lines in the docker-compose.yml file, both coming from Bitnami’s content library in Docker Hub.

docker-compose.yml with images sourced from Docker Hub

You can make two very simple edits to this file to pull those containers from ECR Public instead of Docker Hub.

First, navigate to the Bitnami Drupal page in ECR Public gallery. Notice that you can click a link near the top to automatically copy the URL you can use to pull this image.
Bitnami's Drupal listing in ECR Public

Click on the auto-copy link. Go back to your terminal and replace the URL in the drupal.image line with the URL you just copied from the Drupal container page in ECR Public (the next screenshot below will show the file with the completed edits).

Next, you will do the same thing for the MariaDB image - navigate to the Bitnami MariaDB page in ECR Public and click the auto-copy link near the top of the page.
Bitnami's MariaDB listing in ECR Public

Go back to your terminal and replace the mariadb.image line with the URL you just copied from the MariaDB container page in ECR Public.
docker-compose.yml with ECR Public images added

Now exit and save your changes to the docker-compose.yml file by typing ctrl-x, typing y to save your changes, and enter to use the same filename.

You are now ready to deploy the application. Type:

$ docker-compose up -d

As the application goes through the process of starting up, you will see that the Drupal and MariaDB images are pulled from ECR Public registry.
Output of containers being built from ECR Public images

Once the initialization process has completed, navigate to localhost in your browser and you will see that your Drupal instance is now up and running! To log into your Drupal instance, enter the default username user and default password bitnami.

To read up on a host of other details about how to use Bitnami’s Drupal container, check out this guide. Once you are done using the Drupal instance you deployed in this walkthrough, you can stop the containers by executing docker-compose down from the directory where the docker-compose.yml file is.

Learn more and give us a shout

It is our hope that by publishing the Bitnami Community Catalog library of high quality, expertly packaged and maintained apps and building blocks in ECR Public, we are helping developers get up and running quickly in this new and important source for consuming all kinds of software. 

For a host of information and tutorials about using Bitnami containers and Helm charts in Kubernetes, check out our tutorials page. And if you are looking for a customized catalog of production-ready containers and Helm charts, be sure and read up on our enterprise product Tanzu Application Catalog.

Have more questions or comments about using Bitnami Community Catalog containers? Come visit us and the Bitnami developer community in our community pages!