Oct 14, 2025

To install Docker Engine for Windows containers (without Docker Desktop or WSL)

 Installing the Docker Engine on Windows without Docker Desktop and without WSL is not directly supported for running Linux containers. Docker Desktop utilizes WSL2 or Hyper-V to run a Linux VM where the Docker daemon (dockerd) for Linux containers operates.


However, if the goal is to run Windows containers, it is possible to install the Docker Engine directly on Windows Server or Windows 10/11 with the Containers feature enabled, without needing Docker Desktop or WSL.

To install Docker Engine for Windows containers (without Docker Desktop or WSL): [1]

Enable the Containers feature in Windows.

Open PowerShell as an administrator and run:

    Enable-WindowsOptionalFeature -Online -FeatureName Containers

You might need to restart your computer after this. Install the Docker Engine.

Using Chocolatey is a common and convenient way to install the Docker Engine and CLI on Windows. First, install Chocolatey if you haven't already:

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Then, install Docker Engine and CLI:

    choco install docker-engine
choco install docker-cli

Start the Docker service.

    Start-Service Docker

After these steps, you will have the Docker Engine installed and running on your Windows machine, capable of building and running Windows containers. This setup does not involve Docker Desktop or WSL.


AI responses may include mistakes.

Oct 8, 2025

why does protobuf uint64, fixed64 map to string when converted to JSON

It's due to the way that all numbers in JSON are basically IEEE-754 64-bit doubles... which means that any 64-bit integers can lose information. Using a string instead, all 64-bit integers can be round-tripped with no loss of information. 

https://groups.google.com/g/protobuf/c/4-BY-k-Lk-g

Jun 5, 2025

Error listing tables for catalog opensearch: Timeout connecting to

When you have this error trino in Docker and OpenSearch in your local machine. Run the follow command in trino Docker.

docker exec -it trino bash //Acess trino host bash shell

curl -v -u {{username}}:{{password}} https://host.docker.internal:9200 // HTTPS

curl -v http://host.docker.internal:9200 //HTTP


*   Trying 192.168.65.254:9200...

* Connected to host.docker.internal (192.168.65.254) port 9200(#0)

> GET / HTTP/1.1

> Host: host.docker.internal:9200

> User-Agent: curl/7.76.1

> Accept: */*

>

* Mark bundle as not supporting multiuse

< HTTP/1.1 200 OK

< content-type: application/json; charset=UTF-8

< content-length: 567

<

{

  "name" : "localhost",

  "cluster_name" : "aa_cr_elasticsearch",

  "cluster_uuid" : "5Oup3egsQtm_QJhlhKbopA",

  "version" : {

    "distribution" : "opensearch",

    "number" : "2.18.0",

    "build_type" : "zip",

    "build_hash" : "99a9a81da366173b0c2b963b26ea92e15ef34547",

    "build_date" : "2024-10-31T19:08:37.998479Z",

    "build_snapshot" : false,

    "lucene_version" : "9.12.0",

    "minimum_wire_compatibility_version" : "7.10.0",

    "minimum_index_compatibility_version" : "7.0.0"

  },

  "tagline" : "The OpenSearch Project: https://opensearch.org/"

}

* Connection #0 to host host.docker.internal left intact



Add the following setting to opensearch.yml and your trino can see indices.

network.host: 0.0.0.0
network.publish_host: 192.168.65.254

May 22, 2025

Setup Superset(4.1.2) with OpenSearch(2.1.8) in Windows

 

Prerequisites

  • Docker Desktop: Install Docker Desktop with WSL 2 enabled (for Windows users). 

    • Make sure virtualization settiong of BIOS. It should be ON.

  • Python: Ensure you have Python 3.9 or 3.10 installed.

  • WSL (Optional but recommended for Windows): Enable WSL and install a Linux distribution like Ubuntu from the Microsoft Store. 

  • OpenSearch: Ensure SQL plugin installed.

Setup Docker Compose:

  • Clone the Superset repository: Use git clone https://github.com/apache/superset.git to clone the repository. 

  • Navigate to the Superset directory: cd superset

  • Run Docker Compose: Execute docker compose up (or docker-compose up) to start the Superset containers. This will launch the necessary services, including the Superset backend and frontend. 

Access Superset:

  • Open a web browser and go to http://localhost:8088/. You should see the Superset login page. admin/admin

Connect OpenSearch

Elasticsearch is not default DB. We need to add it.

Add Elasticsearch connector

  1. Create requirements-local.txt under github\superset\docker

     

  2. Add the driver, elasticsearch-dbapi selected in step 1 above

    echo "elasticsearch-dbapi" >> ./docker/requirements-local.txt
  3. Rebuild your local image with the new driver baked in

    docker-compose build --force-rm
  4. Fire things back up

    docker-compose up

Add database(Elasticsearch) to Superset

  1. Click “Database Connections” on the top right Settings menu.

    image-20250506-195349.png
  2. Click “+ Database”

    image-20250506-195528.png
  3. Select ElasticSearch(OpenDistro SQL)

    image-20250509-041526.png


  4. Set URI: odelasticsearch+https://user:password@host.docker.internal:9200/?verify_certs=False&v2=true

    b10820e9-f6af-4478-a0b5-46b1e180f925.png
  5. Create a new SQL: Database: OpenSearch, Schema: default, See table schema: your index

  6. Create a chart: Click “Create Chart” button. You can see table chart.

    image-20250510-020202.png