The Docker client talks to the Docker daemon (server), which menages different Docker objects:
- images
- containers
- networks
- volumes
Images (not containers) can be stored in Registries.
/thread
The Docker client and the daemon can run on the same system, or they can be connected remotely using HTTP protocol.
The connection is established using REST APIs, over UNIX sockets/network interfaces.
DOCKER DAEMON (SERVER)
The Docker daemon (dockerd) is a process, which runs in the background, that manages the docker objects (images, containers, networks, volumes).
It processes Docker API requests.
DOCKER CLIENT
The main way of interacting with Docker.
When you use commands such as docker run, the client sends these commands to dockerd, which carries them out.
The docker command uses the Docker API.
One client can communicate with multiple daemons.
DOCKER IMAGES
Read-only binary templates that contain instructions and metadata for creating Docker containers.
You can use existing images, or create your custom one, starting from an existing one, or even from scratch.
Images can be created by defining a Dockerfile, which is a text file that contains commands used to create the image, one layer per instruction.
Docker uses a system of caching so a new layer is built only if it is changed.
It’s super effective!
CONTAINERS
Runnable instances of an image.
Multiple containers can be instantiated from the same Image.
They can be created/started/stopped/deleted using the Docker API/CLI, and are isolated from other containers and the host machine using namespaces (Linux feature).
Containers can be attached to networks, or be connected with storage. This is important because they are ephemerals, so when they are removed, each state not stored is lost
NETWORKS
Containers can be connected to each other or to non-Docker services, using networks/drivers.
5 types of Networks:
- BRIDGE: allows containers connected to communicate, and it provides isolation from containers that are not connected to that bridge network.
- HOST: removes network isolation between the container and Host
☸️Kubernetes support improved by a ton.
↪ Proxy for container environments.
🌓Dark mode is now supported.
💻Kubectl integration.
💾GitOps integration.
🌸UI improvements.
🔐HTTPS support.
Summary:
· What is a Blockchain
· Blocks
· Resistance to modification
· Secure by design
· Structure
· Verification
· Robust workflow
· Value Exchange protocol
· Layers
/thread
· What is a Blockchain
It's a growing list of records (blocks)
The Blocks are linked together using cryptography.
It's described as an immutable data storage:
- trustless
- fully decentralized
- peer-to-peer
- immutable
It's spread over a network of participants (nodes)
· Blocks
They contain:
- a cryptographic hash of the previous one.
- a timestamp + transaction data.
The timestamp proves that the transaction data existed when the block was published in order to get into its hash.
It was 2015. I was curious and started researching. I didn’t have any online presence at the time so I was just studying on my own trying to figure out how it worked.
Now I know many Docker Captains, like @BretFisher@mikesir87 , @GianArb!
What is your favorite Docker command?
This is a nice question! I think I will go with “docker compose up –build”, this is exactly what you need to test your command on your development environment.
Resources that link Blockchain to Docker🐳
· Create Ethereum Dapp with React + Docker
· Deploying Blockchain Applications with Docker
· Docker usage in Blockchain
· Docker in Blockchain Projects
· Go Ethereum (Go implementation of Ethereum protocol)