Docker NFS volumes "no route to host"

У меня есть 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 пытается запуститься раньше него. Вот вывод docker stack 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 серверу, чтобы объявления томов работали?

2
задан 25 February 2019 в 22:04
1 ответ

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

Volumes:
    gitlab-config:
        driver_opts:
            type:   "nfs4"
            o:      "addr=192.168.122.30,nolock,soft,rw"
            device: ":/srv/gitlab/config"
0
ответ дан 1 May 2020 в 20:20

Теги

Похожие вопросы