Docker Community Forums

Share and learn in the Docker community.

Problem with mount volumes for GitLab on Docker

Hello,

This is my first topic and please understand. At the beginning, I have docker version

Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:44:24 2019
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:10:53 2019
OS/Arch: linux/amd64
Experimental: false

and docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
yqkwx6b25ekuk0bs8lynmurln * master01 Ready Active Leader 18.09.5
k5e42zjrglnjzgojkbfck0d8f worker-01 Ready Active 18.09.5
7dw4032pcod8m8iuzddgcefg0 worker-02 Ready Active 18.09.5

and I want to run GitLab CE on docker swarm. I have NFS server for data as shared storage for cluster and I try run GitLab with docker-compose.yml.

   - "gitlab_logs:/var/log/gitlab"
   - "gitlab_configs:/etc/gitlab"
 environment:
   GITLAB_OMNIBUS_CONFIG: "from_file('/omnibus_config.rb')"
 configs:
   - source: gitlab
     target: /omnibus_config.rb
 secrets:
   - gitlab_root_password
   gitlab-runner:
 image: gitlab/gitlab-runner:alpine
 deploy:
   mode: replicated
   replicas: 2
configs:
 gitlab:
  file: ./gitlab.rb
secrets:
   gitlab_root_password:
 file: ./root_password.txt
volumes:
  gitlab_data:
#    driver: local
driver_opts:
  type: nfs
  o: "addr=10.0.0.7,nolock,soft,rw"
  device: ":/exports/gitlab-swarm/data"
  gitlab_logs:
driver: local
driver_opts:
  type: nfs
  o: nfsver=4,addr=10.0.0.7,rw
  device: ":/exports/gitlab-swarm/logs"
  gitlab_configs:
driver: local
driver_opts:
  type: nfs
  o: "addr=10.0.0.7,rw"
  device: ":/exports/gitlab-swarm/configs"

I have error

“error while mounting volume with options: type=‘nfs4’ device=’:/gitlab-swarm/gitlab/logs’ o=‘addr=10.0.0.7,rw’: no such file or directory”.

What can I do in this situation? I can mount folders form NFS server to master or worker node and I can write and read from it. Is possible to run like that GitLab?