docker toolbox mount file on windows

后端 未结 4 800
鱼传尺愫
鱼传尺愫 2020-12-25 14:18

I am a beginner with docker and I am using a windows machine. But I have a problem mounting files using volumes. The documentation says the following thing about mount files

相关标签:
4条回答
  • 2020-12-25 14:41

    For anyone using docker ~> 1.12 and faces this issue. I spent 30min trying to figure it out until i realized you have to specifically share a drive first via docker settings, see: https://docs.docker.com/docker-for-windows/#/shared-drives

    0 讨论(0)
  • 2020-12-25 14:45

    Try to run it with additional / for volume like:

    docker run -d --name simple2 -v /c/Users/src://usr/share/nginx/html -p 8082:80 ng1
    

    Or even for host OS, as

    docker run -d --name simple2 -v //c/Users/src://usr/share/nginx/html -p 8082:80 ng1
    

    Due to this issue:

    This is something that the MSYS environment does to map POSIX paths to Windows paths before passing them to executables.

    0 讨论(0)
  • 2020-12-25 14:51

    If you're simply looking to access a local drive, the MINGW32 Docker Toolbox terminal puts the root of each drive in /<drive-letter>, so drive C:\ will be at /c/

    0 讨论(0)
  • 2020-12-25 14:57

    As the OP said:

    Official docker docs :

    Note: If you are using Docker Machine on Mac or Windows, your Docker daemon only has limited access to your OS X/Windows filesystem. Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory - and so you can mount files or directories using
    docker run -v /Users/:/ ... (OS X)
    or
    docker run -v /c/Users/:/

    But if you want access to other directories, you need to add a new shared folder to the virtual box settings (Settings > Shared Folders > Add share).

    Add there a new share (only possible when you stop the vm before, docker-machine stop:

    path C:\Projects
    name c/Projects
    autoMount yes
    

    Or edit directly the vbox configuration file
    C:\Users\<username>\.docker\machine\machines\default\default\default.vbox

    Add there into <SharedFolders> the line

    <SharedFolder name="c/Projects" hostPath="\\?\c:\Projects" writable="true" autoMount="true"/>
    

    Restart the machine:

    docker-machine stop
    docker-machine start
    

    Now, it's possible to mount also directories with the base C:\Projects

    docker run -v //c/Projects/myApp://myApp <myImage>
    
    0 讨论(0)
提交回复
热议问题