Czytam w dokumentacji dockera, że można zamontować folder w kontenerze tak:
$ docker service create \
--mount 'type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH>,volume-driver=local,volume-opt=type=nfs,volume-opt=device=<nfs-server>:<nfs-path>,"volume-opt=o=addr=<nfs-address>,vers=4,soft,timeo=180,bg,tcp,rw"'
--name myservice \
<IMAGE>
Są type
: bind
, volume
, tmpfs
. I mają też różne drivery, np volume-driver=local
.
Uruchomiłem swój kontener na windowsie, i strasznie wolno działa - pracuję nad apką która pracuje z systemem plików. Jak odpalam ją normalnie, nie w dockerze, to śmiga, jakieś 10ms. Kiedy odpaliłem ją na dockerze, to trwa 8-10 sekund. Uruchomiłem profiler aplikacji i widzę że operacje które operują na blikach trwają bardzo długo. Myślę że to przez WSL2 na windowsie, albo mapowanie NTFS na system plików kontenera.
Jakie zamontowanie systemu plików w kontenerze sprawi że dostęp do plików będzie jak najszybszy pod windowsem? Może być read-only, może zjeść dużo ramu, nie istotne - chciałbym żeby system plików w kontenerze działał najszybciej jak się da, jakieś rady?
PS: I bardzo proszę się wstrzymać z radami: "przesiądź się na linuxa/maca".