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)?

  • Invalid US-ASCII character using SASS
  • Scripts in shell script not being executed in docker
  • Docker image builds on laptop, not on Digital Ocean - my understanding of Docker is shattered
  • Docker with cloudflare
  • docker-compose: no gunicorn when trying “up” container
  • Mulitple Docker Containers on Port 80 with Same Domain
  • 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.

  • (spotify:1): Gtk-WARNING **: cannot open display: unix
  • Connection refused when try to connect http server in docker daemon container
  • Docker - `top` like real time metrics in command line
  • Docker python client API copy
  • nginx & nodejs: connect() failed (111: Connection refused) while connecting to upstream
  • Docker : using pv (pipe viwer) output nothing on build process
  • 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.