docker - 构建scala docker镜像时没有这样的文件或目录
问题描述
我已经为我的 scala 项目使用 sbt 自动生成了以下 docker 文件:
FROM robsonoduarte/8-jre-alpine-bash:latest
WORKDIR /opt/docker
ADD opt /opt
RUN ["chown", "-R", "daemon:daemon", "."]
EXPOSE 6999
USER daemon
ENTRYPOINT ["bin/app"]
CMD []
然而,当我运行时,build . -t app
我收到以下错误:
Sending build context to Docker daemon 166.2MB
Step 1/7 : FROM robsonoduarte/8-jre-alpine-bash:latest
---> 9bbc00a23a9b
Step 2/7 : WORKDIR /opt/docker
Removing intermediate container 817f86d4a46e
---> b648d213f308
Step 3/7 : ADD opt /opt
ADD failed: stat /var/lib/docker/tmp/docker-builder679116314/opt: no such file or directory
我已尝试按照另一个 SO 答案中的建议重新安装 docker ,但这并没有帮助。我也在使用 Windows,但找不到 /var/lib 文件夹。
解决方案
ADD 命令将文件从 复制<src>
到<dest>
. 在您的情况下,Docker 需要一个名为“opt”的文件夹来自您运行的位置build . -t app
。这样的文件夹存在吗?
推荐阅读
- java - 如何在Android中进行一键登录和注册
- spring-boot - 逗号分隔的请求参数不适用于 Kotlin 数据类
- scala - 如何为自定义错误处理创建自己的解码器?
- c++ - 从 LLVM Kaleidoscope 教程编译代码时遇到问题
- python - 如何在高斯朴素贝叶斯中获得特征重要性
- react-native - 如何实现具有不同颜色的条形图,如 REACT-NATIVE 中的图片所示。帮我解决这个问题
- sql - 递归查询中的 PostgreSQL 顺序
- python - 这种使用 Flask-Login 中的 current_user 的方式安全吗?
- javascript - 将 setState 作为参数传递 Typescript
- drake - 如何使用最新的 pydrake 绑定修复代码?