You could configure dockerd (in the VM) to listen on TCP [1][2], then, back in OpenBSD, define & export `DOCKER_HOST` [3] and from then on use the 'docker' client on OpenBSD [4] without even having to ssh into Alpine.

Warning: I have not yet tested this yet, but it's about the same way as it works on macOS.

Also, I would have probably tried to use boot2docker [5] as guest instead of Alpine.

[1] https://docs.docker.com/engine/reference/commandline/dockerd...

[2] https://docs.docker.com/engine/security/https/

[3] https://docs.docker.com/engine/reference/commandline/cli/

[4] https://www.freshports.org/sysutils/docker/ (< you probably have to build it yourself)

[5] https://github.com/boot2docker/boot2docker

Brilliant! I totally forgot about boot2docker. I remember it from when the Docker tooling on macOS was rough.

I didn't notice the docker client was in the ports tree. I may have to give this a go later this week.

You can also use LinuxKit[1] on OpenBSD I believe; this is what we now use to build Docker for Mac and we are continuing to open source this code.

EDIT: we have an openbsd developer on the team that built LinuxKit and Docker for Mac, so we should be able to help fix any issues...

[1] https://github.com/linuxkit/linuxkit