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:

run

To execute the dev-env, perform the following:

  1. Start XQuartz from command line using
    open -a XQuartz
    
  2. In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked.

  3. 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.