Deploying an Angular app using Docker/Dokku

I’m using a Digital Ocean droplet + Dokku (Docker) and I’m curious about the best way to deploy an Angular app.

Angular apps are static files. What are the recommended and/or easiest ways to setup a server to serve them (on Dokku + VPS)?

  • How do I run the Hetionet v1.0 docker container?
  • Digital Ocean and Dokku plus Play had to use 2gb RAM Machine
  • Dokku on Ubuntu refusing connection
  • Deploy AngularJS app into docker container
  • Move all Docker stuff?
  • angular app with docker - production & development
  • I’ve seen a number of ways floated on blogs but thought asking here might be helpful in getting ideas and generating knowledge that will help other programmers.

  • Docker swarm specific signal when down-scale replication number
  • What is the differenece between Docker Registry and Docker Index?
  • How to pass an environment variable into a RUN command
  • Multiple projects in one solution to generate one docker container
  • Dockerfile for flask application with matplotlib
  • Docker varnish start with command but not with docker-compose
  • One Solution collect form web for “Deploying an Angular app using Docker/Dokku”

    I think your question has quite a broad scope that’s not just limited to Dokku / Angular but applies to the deployment of any application using static assets.

    I would suggest starting with the 12 Factor App (http://12factor.net/) methodology and also reading Heroku’s implementation of this methodology in the form of a gem (https://github.com/heroku/rails_12factor), particularly the section under serving static files. While you might not be writing a Rails app it applies to any application.

    In summary of the gems README.md, your app should be responsible for serving the static files directly (without the help of Nginx or other web server) then rely on a CDN to distribute the files for fast access.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.