Tag Archives: Docker

Using Docker Multi-Stage Builds

Is Dockerfile only for building container images or we can do more with it? How about using Docker multi-stage builds to compile binaries, run tests, and other operations typically performed before building container images?

Continue reading

K3d – How to run Kubernetes cluster locally using Rancher k3s

k3d is a lightweight wrapper to run Rancher k3s in Docker. k3d allows us to create single-node and multi-node k3s clusters in Docker, for local development on Kubernetes, or as temporary testing environment.

Continue reading

Portainer – Container Management Made Easy

Portainer is the definitive open source container management tool for Kubernetes, Docker, Docker Swarm and Azure ACI. It allows anyone to deploy and manage containers without the need to write code.
Continue reading

Skaffold – How to Build and Deploy In Kubernetes

Skaffold allows us to build, push, and deploy applications into any Kubernetes environment by combining a myriad of tools like Docker, Kaniko, Bazel, jib, Buildpacks, Helm kpt, Kustomize, kubectl, etc.

Continue reading

Docker Is Dead? What Now? How Are We Going To Live Without It?

Dockershim has been deprecated in Kubernetes 1.20 and is scheduled to be removed in 1.22. That effectively killed Docker in Kubernetes. When your clusters are concerned, it is dead. What should we do about that?

Continue reading

Amazon Lightsail Containers – AWS Service That Favors Simplicity

Amazon Lightsail containers are all about simplicity.

Continue reading

Kaniko – Building Container Images In Kubernetes Without Docker

How do we build container images inside containers running in a Kubernetes cluster? Docker is a bad option since it cannot run inside containers. Using it requires communication to the Docker engine running in cluster nodes. Even if that security concern is not enough, Dockershim is deprecated in Kubernetes 1.20 and will be (or already is) removed from 1.22. That means that alternative container engines like ContainerD will take its place. In other words, using Docker is not even an option anymore.

Kaniko comes to the rescue. It is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster.

Continue reading

Using Docker To Deploy Applications To Azure Container Instances

This text was taken from the book and a Udemy course The DevOps Toolkit: Catalog, Patterns, And Blueprints

Help us choose the next subject for the course by filling in a survey at https://www.devopsparadox.com/survey

Azure Container Instances are a way to deploy containers in the Cloud. Based on that, you might think that ACI is not much different from other Containers as a Service solutions. But it is. It does not have horizontal scaling, nor any other features often associated with schedulers like Kubernetes. It is limited to the ability to run a single container in isolation. It is very similar to using Docker, except that it is in Azure, and that it saves us from worrying about the infrastructure needed to run containers.

So, if Azure Container Instances are very similar to Docker, why not use docker instead of az CLI? Fortunately, folks at Docker asked themselves the same question and released Docker Desktop that supports ACI. It is available since version 2.3.3+.

Continue reading

“The DevOps 2.3 Toolkit: Kubernetes” is available!

The DevOps 2.2 Toolkit: Kubernetes is available through Amazon.com (and other worldwide sites) as well as through LeanPub.com. Soon it will be available through other retailers as well.

The goal of this book is not to convince you to adopt Kubernetes but to provide a detailed overview of its features. I want you to become confident in your Kubernetes knowledge and only then choose whether to embrace it. That is, unless you already made up your mind and stumbled upon this book in search of Kubernetes guidance.
Continue reading

Kubernetes Resource Management Compared To Docker Swarm Equivalent

This article is part of the series that compare Kubernetes and Docker Swarm features.

Resource management can be divided into a few categories. We need to define how much memory and CPU we except a container will use and what are the limits. This information is crucial for a scheduler to make “intelligent” decisions when calculating where to place containers. In this aspect, there is no essential difference between Kubernetes and Docker Swarm. Both are using requested resources to decide where to deploy containers and limits when to evict them. Both of them are, more or less, the same in this aspect.
Continue reading