【发布时间】:2017-09-30 05:33:33
【问题描述】:
我运行 Ubuntu 16.04,并通过 snap 包安装了 docker。 docker build 无法访问我的Dockerfile,它设置在~ 的子目录中。
snap 界面似乎已正确连接...
$ snap interfaces
Slot Plug
...
:home docker
...
但是,当我调用docker build(从包含Dockerfile的目录)时,我收到以下错误...
$ sudo docker build . -t serial-wiring.base
unable to prepare context: unable to evaluate symlinks in context path: lstat /home/<username>/Documents: permission denied
我是 Docker 新手,有什么我缺少的吗?
这里是 Dockerfile 的内容:
# Base Image
FROM ubuntu
# Add Required Packages [Layer 1]
RUN apt update && \
apt install -y ca-certificates cmake g++ git make --no-install-recommends
# Download Sources [Layer 2]
RUN cd ~ && \
git clone https://github.com/remote-wiring/serial-wiring.git && \
cd serial-wiring/ && \
mkdir build
# Verify Build and Install
CMD cd ~/serial-wiring/build/ && \
cmake .. && \
make
注意:我已经确认
docker build . -t serial-wiring.base可以在 Windows 上使用这个 Dockerfile。
【问题讨论】:
-
如果
Dockerfile不在您运行它的目录中 (docker build .),您需要提供它所在目录的路径。上下文位于选项之后:@ 987654332@ -
@meatspace 他们在最近的版本中对参数解析做了一些改进,我认为这是修复的命令之一(re: context after options)
-
澄清一下,
Dockerfile位于我调用docker build的目录中。我会更新问题...