How to VNC a Docker

I’m currently trying to learn how to use Docker.
My goal is to learn how to dockerize cryptocurrency wallets into docker containers that I can either send commands to like a normal container, or VNC into for GUI control in the wallet software.

I’ve started with trying to get a simple apline-based image running that I can VNC into. I’ve found an example container danielguerra/alpine-vnc that I’m trying to learn from.

I’ve copied the parts of the dockerfile that seem relevant;

FROM alpine:latest

CMD [“/bin/sh”]
RUN apk --no-cache --update add x11vnc
RUN apk --no-cache add xvfb openbox xfce4-terminal supervisor sudo && addgroup alpine && adduser -G alpine -s /bin/sh -D alpine && echo “alpine:alpine” | /usr/sbin/chpasswd && echo “alpine ALL=(ALL) ALL” >> /etc/sudoers && rm -rf /apk /tmp/* /var/cache/apk/*
WORKDIR /home/alpine
EXPOSE 5900
USER alpine
CMD [“/usr/bin/supervisord”, “-c”, “/etc/supervisord.conf”]

But upon running the container, it errors out:

Error: could not read config file /etc/supervisord.conf
For help, use /usr/bin/supervisord -h

The supervisord.conf file IS there; supervisord is just refusing to read it.

This seems to work in danielguerra’s container, but I don’t understand what it does to force supervisord to work.

I have managed to get the container to start and I am able to VNC into it.
The reason that it was refusing to read supervisord.conf was because I needed to manually create a supervisord.conf file and add it to the container at build time. (this was one of the steps that was obfuscated by docker in the danielgurra container)

However, now the right-click menu and windows are corrupt in the VNC session. It seems as if the container thinks there are no icons or fonts installed.