2014-02-14 6 views
2

Я в процессе установки Gitlab on my web server using Docker.Присоединение сетевого хранилища к контейнеру Docker для Gitlab (ssh issue)

Все работает как чемпион, пока не попытаюсь использовать мой NAS в качестве папки для хранения.

Я надеялся, что это будет работать:

Mount доля NFS с помощью/и т.д./Fstab в локальную папку:

192.168.1.103:/gitlab /home/user/gitlab_data nfs rsize=8192,wsize=8192,timeo=14,intr 

Run Докер, с последующим подключением тома:

sudo docker run -v /home/user/gitlab_data:/home/git/data ..... 

И приложение работает, пока я не попытаюсь войти в репо с помощью ssh.

я получаю: Подключение Отказался, убедитесь, что у вас есть соответствующие разрешения ....

Чтобы было ясно, я не испытываю эту ошибку, если я монтировании локальную папку, так что я относительно уверен, что это не проблема конфигурации ssh.

У меня создается впечатление, что этот подход к объему создает то, что функционально является символической ссылкой где-то через цепочку, что явно запрещено во всех файлах установки.

Мой вопрос:

Как я могу подключить папку на NAS для моего контейнера Gitlab Докер таким образом, что она не будет инициировать этот отказ SSH/символьной ссылки?

Я искал документацию о том, как напрямую подключить накопитель, но пока ничего не сделано. Ни в коем случае я не привязан к NFS, я только начал там, потому что я где-то читал, что Docker поддерживает их.

Cheers, -Berger

+0

Хорошо, нашел решение. Я устанавливал том докера с корневой папкой монтирования fstab, которая вводит ошибку. Я создал папку под монтировкой fstab, прикрепленную к ней в качестве тома в докере, и все сработало. – Bergerton

ответ

2

обычно в Linux (файловая система на самом деле) а крепление не может быть сделано рекурсивно (за исключением слоистых файловых систем, таких как UnionFS, AUFS и т.д.).

Например, если вы делаете что-то вроде: mount /dev/sda1 /mnt mount /dev/sdb1 /mnt ls /mnt это покажет вам содержимое диска в/разработчика/sdb1, и это именно то, что вы делали. что вы никогда не должны монтировать устройство в месте, которое уже является точкой монтирования для какого-либо другого устройства.

Подставка для громкоговорителя для док-станции (-v) - это обычная операция с linux, и именно поэтому вы увидите эту проблему.

Смежные вопросы