Deploy .NET to Docker

From MgmtWiki
Jump to: navigation, search

Full Title or Meme

How to move an application from Visual Studio to a Docker Container on Digital Ocean.

Context

Most Docker solutions work well with Apache or NGINX, some special considerations are needed to get a simple task from from .NET on Visual Studio.

Problems

  • Most sites now use Let's Encrypt Certificates which come with simple scripts for Apache, but no help for Windows.

Solutions

There are two distinct parts of the deployment and maintenance of the application plus a little bit of glue to stick one part to the other.

  • This example shows use on the DigitalOcean provider accessing it with SSH.
  • DigitalOcean Droplets are Linux-based virtual machines (VMs) that run on top of virtualized hardware.
  • The default username is root on most operating systems, like Ubuntu and CentOS.
  • To access ssh as root sign into https://cloud.digitalocean.com/ (The DigitalOcean control panel.)
    • Select the droplet to modify - this needs to be done on first use or when the root password no longer works, which can happen if too many unsuccessful sign-in attempts were made.
    • From the left side menu, click Access. Now use the console,or just reset the root password, which is typically less hassle even though you will need to change the p/w on first sign-in.
  • Once the root password is set just open a bash terminal on any computer and enter >>ssh root@000.000.000.000 << using the ip address of the droplet.

Deploying the App via Github.com

  1. An access token is required from GitHub.

Setting up a HTTPS connection

This section shows the use of Let's Encrypt certificates, which have a life of just 3 months, but is free. Other sites have a life of one year but charge money. Two-year certificates are no longer acceptable to many browsers.

The lines shown below should work:

cd /etc/letsencrypt/

References