Назад | Перейти на главную страницу

Тома Docker NFS «нет пути к хосту»

У меня есть сервер NFS по адресу nas.vm.lan == 192.168.122.30. Он экспортирует / srv.

У меня есть три хоста Docker, настроенных как рой по адресу docker-gitlab-swarm1 / 2/3 == 192.168.122.27/28/29.

В моем файле docker-compose определены четыре тома. Вот один из них; все они выглядят так, только некоторые имена и пути изменены:

Volumes:
    gitlab-config:
        driver_opts:
            type:   "nfs"
            o:      "addr=192.168.122.30,nolock,soft,rw"
            device: ":/srv/gitlab/config"

Три сервиса, составляющие Gitlab (PostgreSQL, Redis и сам Gitlab), настроены для развертывания в виде стека. Не ожидается, что Redis сохранит какие-либо данные, но PostgreSQL и Gitlab сохранят их, а службы делают соответствующие ссылки на четыре названных тома.

Контейнер Redis запускается без жалоб.

Поскольку контейнер Gitlab зависит от PostgreSQL, PostgreSQL пытается запустить его раньше. Это результат работы стека докеров ps gitlab --no-trunc:

ID                          NAME                  IMAGE                                                                                                 NODE                          DESIRED STATE       CURRENT STATE                     ERROR                                                                                                                                              PORTS
vnbbmybelrsh623nkl1mc9z18   gitlab_postgresql.1   postgres:9.6.2-alpine@sha256:f88000211e3c682e7419ac6e6cbd3a7a4980b483ac416a3b5d5ee81d4f831cc9         docker-gitlab-swarm1.lan      Ready               Rejected less than a second ago   "error while mounting volume with options: type='nfs' device=':/srv/postgresql/gitlab' o='addr=192.168.122.30,nolock,soft,rw': no route to host"   

(и многое другое)

я жестяная банка смонтируйте файловую систему с сервера NFS на любой из хостов Docker.

Как мне сделать так, чтобы он стал маршрутом к серверу NFS, чтобы объявления тома работали?

Думаю, это сработает при установке типа на nfs4.

Volumes:
    gitlab-config:
        driver_opts:
            type:   "nfs4"
            o:      "addr=192.168.122.30,nolock,soft,rw"
            device: ":/srv/gitlab/config"