Computer Science

Computer Science

In this section, we explore the world of programming, algorithms, networks, and infrastructure

ProgrammingAlgorithmsComputer NetworksTechnologyInfrastructureSoftware EngineeringHardware Engineering

Explore Sections

Computer Networks

Infrastructure, Systems, and Connectivity

View Section

Related Categories

Featured Articles

How to Install Docker on Windows, Mac, and Linux

There are several ways to get Docker running on your machine, from the full-featured Docker Desktop to lightweight VM-based and native Linux installations. This article walks through the main installation options and how to verify Docker is working correctly.

/article/how-to-install-docker-on-windows-mac-and-linux

Inside the Docker Engine: containerd, runc, and Shims Explained

The Docker Engine is a modular system built from small, specialized components rather than one giant program. This article breaks down how containerd, runc, and shims work together to create and run containers, and how the Open Container Initiative shaped this architecture.

/article/inside-the-docker-engine-containerd-runc-and-shims-explained

Docker Images Explained: Layers, Tags, and Digests

A Docker image is a read-only package containing everything an application needs to run, built from stacked layers rather than a single file. This article covers how images work, how naming and tagging function, and why digests matter more than tags for reliability.

/article/docker-images-explained-layers-tags-and-digests

Containers vs Virtual Machines: A Practical Guide to Running Containers

Containers are lightweight, run-time instances of images that behave very differently from virtual machines, even though both aim to isolate and run applications. This article compares the two models and walks through starting, inspecting, debugging, and applying restart policies to containers with Docker.

/article/containers-vs-virtual-machines-a-practical-guide-to-running-containers

Containerizing a Node.js App with Docker: A Step-by-Step Walkthrough

Turning application source code into a runnable container image follows a consistent five-step process in Docker. This article walks through writing a Dockerfile, building an image, pushing it to a registry, and running it as a container, using a simple Node.js app as the example.

/article/containerizing-a-nodejs-app-with-docker-a-step-by-step-walkthrough

Multi-Stage Docker Builds and Building for Multiple Architectures

Large container images mean slower deployments and a bigger attack surface. This article explains how multi-stage builds keep production images lean, and how Buildx and BuildKit make it possible to build images for multiple CPU architectures at once.

/article/multi-stage-docker-builds-and-building-for-multiple-architectures

Deploying Multi-Container Apps with Docker Compose

Modern applications are often built from multiple connected services rather than a single container, which makes manual deployment complex and error-prone. This article explains how Docker Compose uses a simple YAML file to define, deploy, and manage multi-container applications with a single command.

/article/deploying-multi-container-apps-with-docker-compose

Running Local AI Models with Docker Model Runner

Docker Model Runner lets AI models run directly on host hardware instead of inside containers, giving them fast access to GPUs while staying fully integrated with the Docker toolchain. This article covers how it works, how to pull and test models, and how to connect it to Compose-based chatbot apps.

/article/running-local-ai-models-with-docker-model-runner

Building and Running WebAssembly Apps as Docker Containers

WebAssembly (Wasm) is emerging as a lightweight alternative to traditional containers, and Docker now supports building, sharing, and running Wasm apps using familiar tools. This article walks through writing a simple Wasm app with Spin, containerizing it with Docker, and running it as a Wasm container.

/article/building-and-running-webassembly-apps-as-docker-containers

Deploying and Managing Multi-Node Clusters with Docker Swarm

Docker Swarm turns a group of Docker nodes into a secure, highly available cluster with built-in application orchestration. This article covers building a multi-node swarm, deploying a microservices app declaratively, and performing rolling updates without losing desired-state consistency.

/article/deploying-and-managing-multi-node-clusters-with-docker-swarm

Understanding Docker Networking: CNM, Libnetwork, and Bridge Networks

Docker networking is built on an open design called the Container Network Model, implemented through libnetwork and extended by pluggable drivers. This article covers the theory behind Docker networking and walks through creating and testing single-host bridge networks, including name resolution and port mapping.

/article/understanding-docker-networking-cnm-libnetwork-and-bridge-networks

Connecting Docker Containers to VLANs and Load Balancing with Swarm

Beyond basic bridge networks, Docker can connect containers directly to existing physical VLANs, resolve service names automatically, and distribute traffic across a Swarm cluster. This article covers the macvlan driver, Docker's built-in service discovery, and Swarm's ingress load balancing mesh.

/article/connecting-docker-containers-to-vlans-and-load-balancing-with-swarm