GoLand
This is a guide for executing goland using a docker container. The container image is maintained by rycus86
overview
The intention of executing GoLand through a docker container is to enable an easier upgrade path with minimal user maintenance.
prerequisites
You’ll need:
- Docker, see Docker for MacOS.
- XQuartz
run
To execute the dev-env, perform the following:
- Start XQuartz from command line using
    open -a XQuartz
- 
    In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked. 
- Then execute goland using the following docker run command:
    MacOS$ docker run --rm \ --detach \ --env DISPLAY=$(hostname):0 \ --security-opt=seccomp:unconfined \ --volume ${DISPLAY/:0}:/tmp/.X11-unix \ --volume ~/.GoLand:/home/developer/.GoLand \ --volume ~/.GoLand.java:/home/developer/.java \ --volume ~/Development/go-workspace:/home/developer/go \ --name goland-$(head -c 4 /dev/urandom | xxd -p)-$(date +'%Y%m%d-%H%M%S') \ rycus86/goland:latest
Ubuntu
$ docker run --rm \
             --detach \
             --security-opt=seccomp:unconfined \
             --volume /tmp/.X11-unix:/tmp/.X11-unix \
             --volume ~/.GoLand:/home/developer/.GoLand \
             --volume ~/.GoLand.java:/home/developer/.java \
             --volume ~/Development/go-workspace:/home/developer/go \
             --name goland-$(head -c 4 /dev/urandom | xxd -p)-$(date +'%Y%m%d-%H%M%S') \
             rycus86/goland:latest
support
The execution of this GoLand container has only been verified on MacOS.