Tag Archives: Docker

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

Kubernetes RBAC Compared To Docker Swarm RBAC

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

Docker has RBAC. Just as Kubernetes, it is organized around subjects, roles, and resource collections. In many aspects, both provide a very similar set of features. Should we quickly declare it a tie?

There is one crucial difference between Kubernetes RBAC and the one provided by Docker. The latter is not free. You'd need to purchase Docker Enterprise Edition (EE) to secure your cluster beyond "only those with the certificate can access it." If you do have Docker EE, you already made up your mind, and the discussion whether to use one or the other is over. Docker EE is great, and soon it will work not only with Swarm but also with Kubernetes. You bought it, and there's not much reason to switch to something else. However, this comparison focuses on what open source core versions can offer. It ignores third party and enterprise additions.
Continue reading

Kubernetes Namespaces Compared To Docker Swarm Equivalent (If There Is Any)

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

Docker Swarm does not have anything like Kubernetes Namespaces. We cannot split a Swarm cluster into sections. Therefore, we can finish this comparison by saying that Kubernetes is a clear winner regarding this feature since Docker Swarm doesn't have Namespaces. But, that would not be entirely accurate.

Docker Swarm stacks are, in a way, similar to Kubernetes Namespaces. All the services in a stack are uniquely identified through a combination of a stack name and the names of services inside it. By default, all services within a stack can communicate with each other through the stack's default network. Services can speak with those from other stacks only if they are explicitly attached to the same network. All in all, each Swarm stack is separated from other stacks. They are, in a way, similar to Kubernetes Namespaces.
Continue reading

Kubernetes Secrets Compared To Docker Swarm Secrets

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

Secrets are very similar to Kubernetes ConfigMaps and Docker Swarm configs. Everything we said for configurations applies to Secrets, with a few additional features.

Both Kubernetes and Docker Swarm stores Secrets in tmpfs inside containers. From that aspect, they are equally secure. The significant difference is in the way Secrets are stored internally.
Continue reading