在Windows 10上docker build失败了,
docker安装成功后,使用下面的命令构建docker镜像.
docker build -t drtuts:最新.面对下面的问题.

如果有人解决了同样的问题,请告诉我.
Jul*_*nel 36
问题是当前用户不是目录的所有者。
我在 Ubuntu 中遇到了同样的问题,这一行解决了这个问题:
Ubuntu
sudo chown -R $USER <path-to-folder>
Run Code Online (Sandbox Code Playgroud)
来源:更改文件夹权限和所有权
视窗
此链接显示如何在 Windows 中执行相同操作:
在 Windows 10 中通过命令提示符获取文件/文件夹的所有权
小智 21
只需创建一个新目录并输入它:
$ mkdir dockerfiles
$ cd dockerfiles
Run Code Online (Sandbox Code Playgroud)
在该目录中创建您的文件:
$ touch Dockerfile
Run Code Online (Sandbox Code Playgroud)
编辑它并添加命令vi:
$ vi Dockerfile
Run Code Online (Sandbox Code Playgroud)
最后运行它:
$ docker build -t tag .
Run Code Online (Sandbox Code Playgroud)
小智 16
当您运行该docker build命令时,Docker 客户端会收集需要发送到 Docker 守护程序的所有文件,以便它可以构建映像。这个文件的“包”称为context。
将哪些文件和目录添加到上下文中?
上下文包含您传递给docker build命令的目录中的所有文件和子目录。例如,当您调用 时docker build img:tag dir_to_build,上下文将是 内部的所有内容dir_to_build。
如果 Docker 客户端没有足够的权限来读取上下文中的某些文件,则会error checking context: 'can't stat ' <FILENAME>出现错误。
这个问题有两种解决方案:
separate_dir不包含其他文件/子目录的单独目录。当您现在调用 时docker build img:tag separate_dir,上下文将仅包含构建映像实际所需的文件。(如果错误仍然存在,则意味着您需要更改文件的权限,以便 Docker 客户端可以访问它们)。在 docker CLI 将上下文发送到docker守护进程之前,它会在上下文的根目录中查找名为.dockerignore的文件。如果此文件存在,CLI 会修改上下文以排除与其中的模式匹配的文件和目录。
我想创建一个.dockerignore在同一目录下的文件Dockerfile:~/.dockerignore具有以下内容:
# By default, ignore everything
*
# Add exception for the directories you actually want to include in the context
!project-source-code
!project-config-dir
# source files
!*.py
!*.sh
Run Code Online (Sandbox Code Playgroud)
进一步阅读:
小智 6
Docker 只授予文件所有者的读写权限,如果尝试构建的用户与所有者不同,有时会抛出错误。
您可以创建一个 docker 组并在那里添加用户。在 debian 中将如下
sudo groupadd docker
sudo usermod -aG docker $USER
| 归档时间: |
|
| 查看次数: |
10951 次 |
| 最近记录: |