Windows上的docker工具箱挂载文件 [英] docker toolbox mount file on windows

查看:29
本文介绍了Windows上的docker工具箱挂载文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 docker 的初学者,我正在使用 Windows 机器.但是我在使用卷挂载文件时遇到问题.该文档说明了有关在 OSX 和 windows 上挂载文件的以下内容:

官方 docker 文档:

注意:如果您在 Mac 或 Windows 上使用 Docker Machine,您的 Docker 守护程序只能有限地访问您的 OS X/Windows 文件系统.Docker Machine 尝试自动共享您的/Users (OS X) 或 C:Users (Windows) 目录 - 因此您可以使用 docker run -v/Users/:/... (OS X) 或docker run -v/c/Users/:/

使用卷创建容器

我的windows主机目录

使用 -v 选项创建 docker 容器

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

无效值 "C:\Users\src;C:\Program Files\Git\usr\share\nginx\html"对于标志 -v:指定了错误的挂载模式: Program FilesGitusrshare
ginxhtml请参阅C:Program FilesDocker Toolboxdocker.exe run --help".

检查 ng1 图像

docker 检查 ng1

创建带有卷的 docker 容器时出现什么问题?

谢谢.

解决方案

尝试使用额外的 / 来运行它,例如:

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

甚至对于主机操作系统,如

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

由于这个问题:

<块引用>

这是 MSYS 环境在将 POSIX 路径传递给可执行文件之前将它们映射到 Windows 路径的操作.

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 on OSX and windows :

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/:/

>> go to docker volumes docks

I have a small nginx Dockerfile

Dockerfile

FROM centos:6.6

MAINTAINER afym

ENV WEBPORT 80

RUN yum -y update; yum clean all

RUN yum -y install epel-release; yum clean all

RUN yum -y install nginx; yum clean all

RUN echo "daemon off;" >> /etc/nginx/nginx.conf

VOLUME /usr/share/nginx/html

EXPOSE $WEBPORT

CMD [ "/usr/sbin/nginx" ]

Creating a simple container

docker run -d --name simple -p 8082:80 ng1

8875448c01a4787f1ffe4c4c5c492efb039e452eff957391ac52a08915e18d66

Creating a container with a volume

My windows host directory

Creating the docker container with -v option

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

invalid value "C:\Users\src;C:\Program Files\Git\usr\share\nginx\html" 
for flag -v: bad mount mode specified 
: Program FilesGitusrshare
ginxhtml
See 'C:Program FilesDocker Toolboxdocker.exe run --help'.

Inspecting the ng1 image

docker inspect ng1

What is wrong when I am creating a docker container with a volume?

Thanks.

解决方案

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.

这篇关于Windows上的docker工具箱挂载文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆