У меня есть следующие настройки:
- Ubuntu LTS guest
- MacBook Pro под управлением MacOS 10.13.5 (17F77)
- Гипервизор - VMware Fusion Professional версии 8.5.9 (7098239)
- NFS экспортируется с хоста MacBook на гостевую Ubuntu
Это соответствующая строка из /etc/exports
:
/Users/stephenrasku/w/Edge-Agent -alldirs -mapall=501:20 edgeos-dev
У меня естьследующее Makefile
:
build:
ls -l
ls -l foo*
Сбой при запуске в контейнере i386
при монтировании NFS.Я использую VMware Fusion:
$ docker run --rm -t -v /home/stephen/some-nfs-mount:/home/edge registry.gear.ge.com/predix_edge/edge-agent-i386 "cd tmp && make"
Setting uid/gid to 501 501
ls -l
total 4
-rw-r--r-- 1 builduser builduser 26 Sep 25 17:58 Makefile
-rw-r--r-- 1 builduser builduser 0 Sep 25 17:58 bart
-rw-r--r-- 1 builduser builduser 0 Sep 25 17:58 fool
ls -l foo*
ls: cannot access 'foo*': No such file or directory
Makefile:2: recipe for target 'build' failed
make: *** [build] Error 2
Контейнер i386
работает, если я клонирую репозиторий в собственную файловую систему и связываю его с контейнером:
$ docker run --rm -t -v /home/stephen/this-directory-is-not-nfs:/home/edge registry.gear.ge.com/predix_edge/edge-agent-i386 "cd tmp && make"
Setting uid/gid to 501 501
ls -l
total 8
-rw-rw-r-- 1 builduser builduser 971 Sep 26 14:21 Dockerfile-i386
-rw-rw-r-- 1 builduser builduser 26 Sep 26 15:06 Makefile
-rw-rw-r-- 1 builduser builduser 0 Sep 26 14:21 bart
-rw-rw-r-- 1 builduser builduser 0 Sep 26 14:21 fool
ls -l foo*
-rw-rw-r-- 1 builduser builduser 0 Sep 26 14:21 fool
И этотакже работает в NFS, если я запускаю в контейнере x86_64
:
$ docker run --rm -t -v /home/stephen/some-nfs-mount:/home/edge registry.gear.ge.com/predix_edge/edge-agent-x86_64 "cd tmp && make"
Setting uid/gid to 501 501
ls -l
total 4
-rw-r--r-- 1 builduser builduser 26 Sep 25 17:58 Makefile
-rw-r--r-- 1 builduser builduser 0 Sep 25 17:58 bart
-rw-r--r-- 1 builduser builduser 0 Sep 25 17:58 fool
ls -l foo*
-rw-r--r-- 1 builduser builduser 0 Sep 25 17:58 fool
Контейнер i386
равен FROM i386/ubuntu:18.04
, а контейнер x86_64
равен FROM ubuntu:18.04
.
Есть ли способ исправить это, кроме "не использовать NFS"?