Docker
Docker: what is it?
Docker allows certain services to be started as containers. A container consists of specific software images that can be loaded from the Internet and started in isolation from the operating system and each other.
For network communication with the container, certain network ports can be made available outside the container. Certain folders within the container can be redirected to the host operating system to make thedata persistent .(So that they are not lost when the container is re-provisioned).
As an example, to provision a database, a Docker container might write the database files and their configuration to the local file system. In this case, the actual database runs isolated in the container after downloading the software images and is accessible from the outside via a network port, e.g. "localhost:1433". The data of the database are in the local file system, the software images can be exchanged with new image versions.
Docker Quick Start: Why? What are containers for? Hardware?
What are Docker containers? Docker containers are small isolated program units that can be started independently of the operating system on almost any PC or server. The user interface of a container is usually provided in the form of a web service and can thus be accessed via an address in the browser. Calling from a PC, smartphone or tablet is done via any browser and therefore does not require any additional installed software or app. ... continue reading
Requirements
Launch Docker containers on Linux.
Instructions for installing Docker can be found on the manufacturer's site. For Debian / Ubuntu, I did the installation as follows. ... continue reading
Launch Docker containers under Windows
How does it work: how does Windows get to the Linux kernel? In order for Docker to be used in Windows, a Linux kernel is required. The reason for this is that Docker builds on features of the Linux kernel and absolutely needs it to run the containers. The Linux kernel, and therefore Docker, is therefore provided in Docker Desktop via a small Linux virtual machine. ... continue reading
Docker Container GUI graphical web interface with Portainer
Originally, I managed Docker purely via the command line, which is already very simple with a few simple commands. Portainer provides even more overview and a comfortable admin interface. Portainer itself can also be started as a Docker container and makes managing Docker containers a breeze. ... continue reading
Docker commands, function and operation
Docker commands in practice
Docker containers can be started, updated and managed using terminal commands. In the post I note commands that I have needed so far for Docker and corresponding examples: ... continue reading
Docker data storage: Docker Volumes vs. Host Folders
I run a handful of Docker containers on a single Linux host. Docker containers are known to be replaced when they are rebuilt or swapped to a newer image version, losing all changed data. To permanently store certain folders of the container, they need to be swapped out via volumes or bind mounts. I usually have specific paths of the containers in defined folders connected to the host for this purpose (bind mounts). One of the reasons for using bind mounts instead of volumes is that I can more e... ... continue reading
Practice: Backup Docker container data: Volumes / Bind Mounts
In my article "All Docker containers: Moving hosts, theory and practice", I already went a little bit into the topic of backup. If you followed the article, you know that I outsource the data of my Docker containers via bind mounts and back them up with rsync. The backup job is started via crontab. But first, I thought about what actually needs to be backed up when using Docker in a single-server setup. ... continue reading
Docker Swarm, Portainer and Traefik combined
As mentioned several times on this page, I primarily use the reverse proxy Traefik to access my Docker containers. To be able to manage the containers in a graphical GUI, I also use Portainer. For a single server, the setup fits so far, but if you want to deploy multiple servers, you can use Docker-Swarm for that. I first tested Portainer in combination with Swarm and extended the setup with Traefik including SSL with Let's Encrypt. ... continue reading
Docker Compose vs. Docker Swarm: using and understanding it
Docker Swarm allows nodes (hosts) to be grouped together into a common federation. This allows containers to be run in any number of instances on any number of nodes (hosts) in the network. In Docker Swarm, the basis for communication between hosts is an overlay network for services: Multi-host networking. As indicated in my article on moving web servers, I tested Docker Swarm as a possible option for a shared cross-host network and gathered some insights on this, which I briefly summarize her... ... continue reading
Traefik and oAuth: Log in your own web services with Google.
The security of a web service is largely dependent on its user login. If a web service does not have its own user logon, a logon can simply be activated upstream when using the Traefik reverse proxy. The access to the actual web service is only allowed if the login to the reverse proxy was successful. The simplest variant for an upstream login is a basic authentication. Somewhat more complex, but possibly more convenient and also usually even more secure is the use of OAuth. OAuth allows logging... ... continue reading
Traefik: Forward traffic to another server
In preparation for moving my websites, I was looking for a way to simply forward all traffic from the old server to the new one. ... continue reading