Simulating Lag with Docker Containers
I was building a Grafana dashboard with Docker Compose that would monitor a local service. I wasn't able to figure out if my calculations for the graph were correct because the latency was so low being that it was running in Docker Compose locally. I needed a way to proxy traffic to the service that...
Kubernetes WordPress with Remote MySQL Access
Deploying WordPress to Azure Kubernetes Service (AKS) was a great exercise for me to learn and improve my Helm and Kubernetes knowledge. Bitnami has a Helm chart for WordPress on AKS.
The most ideal way of doing this is to modify the Helm Charts to include an additional load balancer, but, the purpose of...
Local Development with Azure API Management Gateway
This was rather tricky to figure out so I thought I would share my experience with setting up Visual Studio with a local development subscription of Azure API Management (APIM) Gateway. It turns out that running a local copy of the Azure API Management Gateway is possible through either Docker or Kubernetes. Since...
Docker: MSSQL Server
Microsoft has created several images for MSSQL Server on Docker Hub. They have support for Windows and Ubuntu containers. It's very easy to customize these images with setup scripts, execute commands, or build a custom image.
Pulling a Ubuntu 2019 SQL Server
docker pull mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-16.04
Pulling a Windows 2019 SQL Server
docker pull mcr.microsoft.com/mssql/server:2019-latest
DockerHub: Microsoft SQL Server
GitHub: Azure Data SQL Samples...
Docker Tips & Tricks
These are some useful random tricks I've learned about Docker over the years.
Getting Shell Access to a Running Container
docker exec -it containername /bin/bash
Remove All Running Containers
This command works by removing all running containers with force. The command "docker ps -aq" returns all running containers and only displays the container ID.
docker rm -f $(docker ps -aq)
Copying Files...
Docker MSBuild
I created an image specifically for building legacy ASP.NET code. This is publicly available on Docker hub and GitHub. You may pull it and use it at your own discretion.
https://hub.docker.com/repository/docker/mrjamiebowman/msbuild
GitHub: Docker MSBuild
How to Use
First, you'll want to make sure your local Docker daemon is running Windows Containers.
Pulling the image with Docker is very easy...
docker push mrjamiebowman/msbuild
Once you have...
Azure Kubernetes Service (AKS)
I had some issues with Getting Azure AKS to work with PowerShell locally so I decided to document this. This post shows how I was able to get started using Azure Kubernetes Service (AKS) with PowerShell. Azure provides a Kubernetes service that is capable of orchestrating Windows containers as well as Linux containers. This makes AKS...
Docker: NuGet Server Windows Server Core
I've set up a NuGet Server on a Dockerized Windows Server Core IIS image. This is a multi-stage build that includes an MSBuild stage to compile NuGet Server (ASP.NET) and copy that into the final image. The Dockerfile installs useful utilities like Chocolatey and Vim.
GitHUb: Docker NuGet Server Windows Core
Also, if you're looking...
Docker: Jenkins Build Server on Windows Server Core
Big fan of Jenkins! I've really enjoyed the flexibility that this CI server provides. While it's easy to run a Linux container with Jenkins and do .NET Core builds it's not possible to build traditional ASP.NET projects... unless you install Mono.. but I could never get that to work. After contemplating my...
HashiCorp Packer
Packer is a really awesome modern tool for automating the process of provisioning images. This in conjunction with source control (preferably Git) and Vagrant can mean that your portable Hyper-V, VirtualBox or VMWare images are maintainable and immutable. Through provisioners, Packer can build in many different environments including cloud infrastructure. There's a lot of good documentation out there...