Docker: Run a Container Indefinitely

Sometimes, using Docker is a convenient way to build or test our applications that must be run on a Linux environment from Windows. These are many ways to run a container forever, including the tail, sleep, ping, for... and while... loops. In this post, I will mainly focus on the second example, with a trick to quickly shut down and delete the container.

Làm quen với MariaDB Galera Cluster

MariaDB Galera Cluster là hệ thống cluser cho phép nhiều primary node CSDL MariaDB đồng thời, tức bạn có thể thực hiện lệnh write trên node bất kỳ và dữ liệu được đồng bộ cho các node khác trong cluster. Nó chỉ chính thức hỗ trợ hoạt động trên môi trường Linux và InnoDB storage engine.

Nginx - Pihole cluster load balancing

Trong bài viết này mình sẽ cùng bạn dựng DNS server với pihole và dùng nginx để làm load balancing.

Tổng quát luồng xử lý như sau:

  • (1) nginx nhận request cổng 53 cho phân giải DNS và cổng 8080 cho HTTP request
  • (2) nginx phân bổ request về 2 pihole chạy trên docker, lần lượt nghe ở các port: 531, 532, 8081, 8082
# DNS
DNS request :53 --> nginx :53 --> pihole_1 :531
                              --> pihole_2 :532

# HTTP
Admin user :8080 --> nginx :8080 --> pihole_1 :8081
                                 --> pihole_2 :8082

[Docker] Allow non-root user to use docker command

Allow non-root user run docker without sudo prefix:

# replace $USER_NAME with real username 
sudo usermod -aG docker $USER_NAME