Docker Desktop and Zabbix Container Stack deployed with VSCode and Copilot

Having fun and learning from containers in my Docker Test Lab

Intro

This practical how-to shows how to install a Zabbix container monitoring stack on Docker Desktop, using VS Code Insiders and Copilot Chat as the development workflow. I was just testing and see how these products come together.


Why this setup?

  • Docker Desktop gives a polished local container environment on Windows and macOS.
  • Zabbix is a robust open-source monitoring solution for hosts, containers, and apps.
  • VS Code Insiders offers the latest editor features, especially for Docker, YAML, and Copilot Chat.
  • Copilot Chat helps you write configuration, validate YAML, and troubleshoot fast.

What you will build

  • Docker Desktop
  • Zabbix server
  • Zabbix web frontend
  • MariaDB backend
  • Zabbix agent

Step 1: Install Docker Desktop

  1. Download Docker Desktop from the official site.
  2. Enable:
    • WSL 2 backend on Windows
    • Docker Compose support
  3. Confirm with:
    • docker version
    • docker compose version

Docker Desktop makes the entire Zabbix stack repeatable and easy to reset and update.


Step 2: Create the Docker Compose stack

Use the code below in a docker-compose.yml file:

version: "3.9"services:  db:    image: mariadb:10.11    container_name: zabbix-db    environment:      MYSQL_DATABASE: zabbix      MYSQL_USER: zabbix      MYSQL_PASSWORD: zabbixpass      MYSQL_ROOT_PASSWORD: rootpass    volumes:      - db_data:/var/lib/mysql  zabbix-server:    image: zabbix/zabbix-server-mysql:latest    container_name: zabbix-server    depends_on:      - db    environment:      DB_SERVER_HOST: db      MYSQL_DATABASE: zabbix      MYSQL_USER: zabbix      MYSQL_PASSWORD: zabbixpass    ports:      - "10051:10051"  zabbix-web:    image: zabbix/zabbix-web-nginx-mysql:latest    container_name: zabbix-web    depends_on:      - zabbix-server      - db    environment:      DB_SERVER_HOST: db      MYSQL_DATABASE: zabbix      MYSQL_USER: zabbix      MYSQL_PASSWORD: zabbixpass      ZBX_SERVER_HOST: zabbix-server      PHP_TZ: UTC    ports:      - "8080:8080"  zabbix-agent:    image: zabbix/zabbix-agent:latest    container_name: zabbix-agent    depends_on:      - zabbix-server    environment:      ZBX_HOSTNAME: zabbix-agent-container      ZBX_SERVER_HOST: zabbix-servervolumes:  db_data:

  • Because I wanted the localhost on https port 443, I added the Caddy container image for the certificate. (just ask Copilot in VSCode and he will support you with the installation, you will see 😉 )

Step 3: Use VS Code Insiders

  1. Open the stack folder in VS Code Insiders.
  2. Install these extensions:
    • Docker
    • YAML
    • Remote – Containers
  3. Use the editor to:
    • author docker-compose.yml
    • review container logs
    • validate YAML
    • keep your stack code clean

Step 4: Ask Copilot Chat

Use Copilot Chat inside VS Code for:

  • validating docker-compose.yml
  • explaining Zabbix service relationships
  • generating triggers and item templates
  • debugging connection issues

Example prompt:

  • “Why is zabbix-web failing to connect to MariaDB in this compose stack?”
  • What I really like is that Copilot does the work for you on demand and solves issues between containers.

Step 5: Start the stack

Run:

docker compose up -d

Verify:

  • docker ps
  • docker logs zabbix-server
  • http://localhost:8080

Default login:

  • user: Admin
  • password: zabbix
  • Please change this password when you are in Zabbix Monitoring.

Step 6: Monitor containers

In Zabbix, configure:

  • CPU, memory, disk, and network items
  • container health triggers
  • dashboards for container metrics
  • optional Docker API monitoring
  • And I’m monitoring my Docker Host with a Zabbix Windows Agent.

Community tips

  • Keep YAML modular and readable.
  • Use Copilot Chat for quick config ideas.
  • Leverage Docker Desktop dashboard for container health.
  • Expand later with Zabbix proxy, TLS, or app-specific templates.
  • Use Docker scout and Copilot for support remediation in security.

Conclusion

This workflow blends:

  • easy local secure container setup with Docker Desktop
  • enterprise-grade monitoring with Zabbix
  • cutting-edge authoring in VS Code Insiders
  • real-time help from Copilot Chat

Unknown's avatar

Author: James van den Berg

I’m Microsoft Architect and ICT Specialist
and
Microsoft MVP Cloud and Datacenter Management
Microsoft MVP Windows Insider
Microsoft Tech Community Insider
Microsoft Azure Advisor

  This article was originally published by mountainss Cloud and Datacenter Management Blog. You can find the original article here.