How to deploy a Docker app

Qoddi uses container technology to deploy any app that works with Docker.

To get started with Docker, choose a Docker App from the Marketplace. After the Docker instance is launched, you can deploy your container using several different methods outlined below.

All docker-related settings must be set from the app settings page, docker composer, docker run and direct access to the docker engine are not permitted on Qoddi.

When you create an app on Qoddi, you have several options to deploy your app :

Specify a public registry image

You can deploy an app directly from the registry by adding an image name from Docker hub or another source. This image will still be audited and copied to Qoddi’s private registry before being deployed to your app: this step is mandatory to scan the image for viruses and security threats and make it available to the Qoddi’s cluster which is not directly connected to public registries :

Example

nginx:latest

Upload a Dockerfile

You can add your personal code and dependencies, RUN and EXPOSE commands and everything you can do with a DockerFile. The app will be built on an independent builder outside of Qoddi’s network and pushed to Qoddi’s private registry before being deployed on your instance(s).

Example

With the example below make sure to open the port 3000 inside the app settings and to create a virtual disk pointing to /usr/src/app

To upload your files to this disk you can install FileBrowser from the Marketplace

FROM node:13-alpine
WORKDIR /usr/src/app
RUN npm install
EXPOSE 3000
CMD node ./bin/www

Using Github/Gitlabs or Git

A Dockerfile must be present at the root directory of your app.

Check this page for complete Git deployment tutorial.

Notes

Important: build time is limited to 60 minutes, make sure the build time for your image is under 60 minutes. There is no limitation on the number of builds you can create or deploy, all builds are hosted inside Qoddi’s private registry and not available from outside Qoddi.

Qoddi also includes a Marketplace that is optimized to launch apps in a few easy steps. Our Marketplace includes several datastores (like MySQL), WordPress, and other useful services or microservices.

When using a Docker Image, Make sure you meet all the requirements on the Dockerhub page for the app you want to deploy. For instance, add mandatory environment variables, use the appropriate port to expose your container, and add the required disks. The Qoddi “settings” page replaces a docker-compose file.

Some functions are not available on Qoddi, for instance it’s not possible to link an external port directly to your container. No matter which port you select to expose your container, Qoddi will always forward this port to the web-facing port of your instance (80). Specific applications ports that are not linkable to the :80 port (like 22, 3306 etc…) cannot be used to reach a Qoddi’s instance from the outside world.

Was this helpful?

11 / 5