Posts tagged with docker

  • GW-Basic in Docker

    Feb 22, 2020

    This is one of those just for fun projects, doing it to see if it can be done. Can I put GWBASIC.EXE inside a Docker image?

  • Docker Hub automation

    Dec 26, 2019

    I have a git repository that contains various Docker files. I hacked a script that builds and pushes the images (which is straightforward enough) but also updates the description of the images on Docker Hub.

  • Windows Docker and paths

    Dec 25, 2019

    I use Docker Toolbox at home, as my laptop is running Windows Home and therefore cannot run Docker Desktop. Sometimes, mounting volumes can get tricky.

  • From Swagger to Confluence UML diagrams

    Nov 3, 2018

    TL;DR: During CI, I am generating a UML diagram out of the Swagger definition and I’m publishing it to Confluence.

  • Troubleshooting SSL - missing /root/.postgresql/root.crt

    Nov 2, 2018

    I run into a problem today trying to connect to an Azure PostgreSQL database. The database enforces SSL connections (“SSL enforce status” = “ENABLED”).

  • Dockerize the build plan v2.0

    Aug 26, 2018

    Back in 2017, I wrote a series of articles about using Helm for Continuous Deployment. One year later, I want to look back on some things I wrote and offer some alternative solutions. The most interesting thing is about the article CD with Helm part 2: Dockerize the build plan.

  • Slim GitVersion Docker image

    Aug 19, 2018

    In a previous post, I wrote about GitVersion. GitVersion is a tool which solves semantic versioning of a git repository in its own way. With GitVersion, the version of any git repository is a pure function of its state, derived by tags, branches and commit messages.

  • Playing with TeamCity on Azure

    Mar 10, 2018

    I spent the past two days playing with setting up TeamCity on Azure. This is just a poc more than anything else, but it’s always fun to do something new. I had to fiddle about with some things that didn’t work as expected, so here are some notes to remember what I did.

  • Using AWS ECR as a Docker registry

    Dec 30, 2017

    In this post, I’ll modify the pipeline from the previous posts to use a Docker registry powered by AWS ECR (Amazon Elastic Container Registry).

  • Adding code coverage with nyc

    Dec 29, 2017

    In this post, I’ll add code coverage to the build pipeline and configure TeamCity to break the build if the code coverage drops.

  • Adding mocha unit tests

    Dec 29, 2017

    In this post, I’ll add unit tests to the example application that I’ve been fiddling around with in the recent posts.

  • Adding WebdriverIO tests

    Dec 29, 2017

    In this post, I’ll add some automated browser tests using PhantomJS and WebdriverIO.

  • Host DNS in Docker Toolbox

    Dec 29, 2017
    How to configure Docker Toolbox so that it uses your laptop's hosts file.
  • Smoke test for a Docker image

    Dec 28, 2017

    According to Wikipedia, a smoke test is a preliminary test that reveals simple failures severe enough to (for example) reject a prospective software release. The process of smoke testing aims to determine whether the application is so badly broken as to make further immediate testing unnecessary. If we consider our dockerized blog-helm web application, a possible smoke test can be: can we pull the image from the registry? If we run the image, does the container stay alive or does it crash immediately? In this post, I’ll implement this in an extra build configuration in TeamCity with a generic bash script doing the actual work.

  • My local TeamCity setup

    Dec 26, 2017

    In my recent blog posts I’ve played a lot with TeamCity. Often, when I want to blog about something, I end up doing some irrelevant yak shaving, which sometimes is also interesting. In this post I’ll show how I’m currently setting up TeamCity locally on my laptop.

  • Fixing root permissions on Docker volume

    Dec 16, 2017

    In a previous post, we saw how to dockerize the build plan of an application. Typically, you’ll want the build to run tasks like linting and unit tests, and then publish the results of these operations as XML reports that the build server can consume and present in a human friendly way.

  • CD with Helm part 8: DTAP

    Dec 9, 2017

    In the series so far, we have build a CI pipeline that produces a Docker image and a Helm chart. They are linked together with a unique version, allowing us to use Helm to deploy any feature branch we want. Now we’ll see how to implement a traditional DTAP and use Helm to deploy whatever, wherever.

  • CD with Helm part 7: Docker registry

    Dec 9, 2017

    In a previous post, we had taken a shortcut: we had TeamCity running inside Kubernetes, sharing its Docker daemon. That trick allowed Kubernetes to access the Docker images produced by our builds. In this post, we’ll setup our own Docker registry and publish Docker images there.

  • CD with Helm part 6: networking interlude

    Dec 3, 2017

    Before we continue with setting up the multiple environments that comprise our DTAP, I’d like to take a break and discuss a bit about networks. This way we can understand better what is going on inside and outside of Kubernetes.

  • CD with Helm part 5: versioned artifacts

    Dec 2, 2017

    In the previous post we created the Helm chart for our hello world blog-helm application. The Helm chart contains all the information we need to deploy our application to a Kubernetes cluster. But so far, we always deploy the latest version. In a CD setup, we’d like to be able to deploy any version, from any feature branch, at any given point in time, to any environment (DTAP). Let’s start by looking at versioning.

  • CD with Helm part 4: Helm Intro

    Nov 27, 2017

    In the previous post we had a first look at Kubernetes and deployed our hello world app on a local cluster using the CLI. The simple commands we used are good enough for a first taste. However, the full power of Kubernetes comes with using configuration files. Helm builds on top of that, taking these configuration files to the next level.

  • CD with Helm part 3: Kubernetes Intro

    Nov 25, 2017

    In the previous posts we took the first steps to dockerize our hello world application. This allows us to run the application on any host, as long as it runs Docker. We also dockerized the build plan, which allows us to use any build server, as long as it runs Docker. Now we’re ready to run the application on production. Where should we run it?

  • CD with Helm part 2: Dockerize the build plan

    Nov 18, 2017

    With Docker, we can package our application in a Docker image and we have the assurance that it will run on any machine that has Docker. We can do the same with our build plan. Dockerizing the build environment means that the only dependency we have on the build server is that it supports Docker. This reduces the amount of work needed to manage the build server and enables teams to be more independent.

  • CD with Helm part 1: Dockerize it

    Nov 15, 2017

    In the previous post, we created the hello world application that we’ll be using. Now it’s time to dockerize the app. Dockerizing means to create a Docker image that can be used to run the app.

  • CD with Helm part 0: hello world app

    Nov 13, 2017

    I’d like to start a tutorial series on how to apply CI/CD principles with tools like Kubernetes and Helm. I’m extremely new in these technologies, so this is a learning exercise for me.

  • Mocking AWS with localstack

    Jun 6, 2017

    We use AWS at work and I’ve been learning more and more about it. AWS offers so many services it’s even difficult to remember all of them. It’s quite impressive how many things a developer could build upon in order to deliver a scalable solution. The phrase “standing on the shoulders of giants” is quite fitting.

  • Docker hacking session

    Jun 4, 2017

    Last week I organized a hacking session for my team at work. We ordered pizzas and we stayed a couple of hours extra to have a look at Docker. For some people this was completely new, for some others not as much. The feedback however was positive overall.

  • How to deploy a smashing dashboard to AWS Elastic Beanstalk with Docker

    May 9, 2017

    So, in the previous post we created a fancy dashboard using the smashing framework. Let’s see how we can deploy our dashboard to AWS Elastic Beanstalk using Docker.

  • Debugging Docker with IntelliJ IDEA

    Mar 26, 2017

    In this post we’ll create a small Java application, run it inside a Docker container, and use IntelliJ IDEA to debug. This is a rather large post, so take your time.

  • Kafka with Docker: A Docker introduction

    Mar 25, 2017

    Using Kafka on your local development machine adds another level of complexity. You need to manage two extra services, Apache ZooKeeper and Apache Kafka. In a previous post, I mentioned the possibility of creating a Windows service wrapper for Kafka, so that managing is a bit easier. In this post, we’ll have a look at Docker and how we can use it to solve the same problem in a different way. I am new to Docker, so this is a very basic post, more like an introduction to Docker.