Posts

Showing posts from October, 2016

How to Run X Windows Server inside Docker Container

Image
Background Sometimes I need to run X Windows-based applications inside Docker containers, and running the server locally is too unpractical because of latency reasons or the working laptop has no X Windows Server. First I tried to create a VirtualBox-based Vnc Server, and it worked fine albeit a little slow, but Docker containers seem to have better memory and disk footprint. So I tried to create Vnc Server running X Windows inside a Docker container. I already tried suchja/x11server ( ref ) but it has strange problems ignoring cursor keys of my MacBook on webkit page (such as Pentaho Data Integration's Formula page). Starting point Many of my Docker images are based on Debian Jessie. So I start from the instructions from this DigitalOcean article :  https://www.digitalocean.com/community/tutorials/how-to-set-up-vnc-server-on-debian-8 .  This vnc server is based on XFCE Desktop Environment. The steps are basically is to install : xfce4  xfce4-goodies  gnome-icon-them

Docker Basic 101

Image
Background This post would describe notes that results from my initial exploration using docker. Docker could be described as a thin VM. Essentially docker runs processes in a linux host in a semi-isolated environment. It was a brilliant technical accomplishment that exploits several characteristic of running applications in a linux-based OS. First, that the result of package installation is the distribution of package files in certain directories, and changes to certain files. Second, that executable file from one Linux distribution could be run in another Linux distribution provided that all the required shared library and configuration files are in their places. Basic characteristic of Docker images Docker images are essentially similar to zip archives, organized as layer over layers. Each additional layer provide new file or changed files.  Docker image should be portable, means it could be used in different instances of application in different hosts. Docker images are

Running X11 Apps inside Docker on Remote Server

Image
Background Docker is fast-growing trend that I could no longer ignore, so I tried Docker running in a Linux server machine. Running server app is a breeze inside docker, but I need to run Pentaho Data Integration in the server, which uses X11 display. There is several references about forwarding X11 connection to a Docker container but none works for my setup, which has Quartz XServer running in  Mac OS X laptop and Docker service running in a remote Linux Server. The usual way The steps to run X Windowed Applications in Docker containers can be read from  Running GUI Apps with Docker  and  Alternatives to SSH X11 Forwarding for Docker Containers , which essentially is as follows : Forwarding DISPLAY environment variable to the container Forwarding directory /tmp/.X11-unix to the container I already tried such steps with no results, because I need to add another step before these two, that is forwarding X11 connection thru ssh connection to the server (not container).