Use Ubuntu 18 only. No mint!
After starting a clean instance, proceed with the following commands:
Install Gitlab-Runner:
sudo apt-get update
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
Install Docker-CE:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
    
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce
Setup Docker-In-Docker:
sudo docker network create gitlab-runner-net
sudo docker run -d \
  --name gitlab-dind \
  --privileged \
  --restart always \
  --network gitlab-runner-net \
  -v /var/lib/docker \
  docker:17.06.0-ce-dind \
    --storage-driver=overlay2
Register the runner:
sudo gitlab-runner register
Configure runner to use allow elevated privileges.
sudo nano /etc/gitlab-runner/config.toml
... and modify the line with priviledged to be like this:
privileged = true
Note: When asked for the executor, choose docker. Also, when requested the default docker image, use alpine:latest.