How to deploy a Docker app

FlashDrive use container technology, so you can deploy any app that works with Docker on FlashDrive.

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

Specify a 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 FlashDrive’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 FlashDrive’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 FlashDrive’s network and pushed to FlashDrive’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 (free with a DEV instance)

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

Using Github/Gitlabs or Git

The method described below use Github, you can use the same setup for Gitlab or any Git compatible service that support SSH keys authentification and webhooks.

Click “Setup automatic build from Git” on the deploy popup. FlashDrive will generate an SSH key to add on GitHub :

Visit Settings > Deploy Keys > Add new on Github. Copy/paste the public key provided by FlashDrive and let “Allow write access” unchecked.

Copy and paste on Github the webhook URL also provided. Make sure to select “just the push event” as a trigger for this webhook, FlashDrive will launch a build each time webhook is called from Github :

That’s it! Each time you push changes inside Github, FlashDrive will build and deploy your app.

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 FlashDrive’s private registry and not available from outside FlashDrive.

Notes

FlashDrive 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 FlashDrive “settings” page replaces a docker-compose file.

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *