当前位置: 首页 > 知识库问答 >
问题:

Docker-与卷组合“没有这样的文件或目录”

欧阳杰
2023-03-14

我是docker的初学者,特别是docker Compose。目前,在创建我最初的easy docker环境时,我遇到了第一个错误,但我不知道为什么。我试图在stackoverflow中搜索解决方案,但没有找到任何可以帮助我的东西。用“docker-compose up”启动我的docker时,我会得到以下错误:

$html" target="_blank">docker-compose up
删除errorinstance_app_1
重新创建8a358DFCB306_8a358DFCB306_8a358DFCB306_8a358DFCB306_8a358DFCB306_8ErrorInstance_APP_1...
重新创建8a358DFCB306_8a358DFCB306_8ErrorInstance_APP_1...错误
错误:对于8a358DFCB306_8a358DFCB306_8A358DFCB306_8ErrorInstance_APP_1无法启动

所以.遵循我的文件夹结构:

  • 项目
    • Docker-compose.yml
    • 码头
      • Java
        • DockerFile
        • run.sh

        跟随我的docker-compose.yml:

         version: '2'
            services:
              app:
                build:
                    dockerfile: ./Docker/Java/Dockerfile
                    context: .
                volumes:
                    - ./src:/usr/local/etc/
                working_dir: /usr/local/etc/
                command: ./run.sh
        

        并跟踪我的docker文件:

        FROM java:7-jdk-alpine
        # WORKDIR /usr/local/etc
        
        echo "Hello world."
        

        有谁能分别帮我一下,有谁看到问题了吗?

共有1个答案

阚正真
2023-03-14

问题是您在DockerFile中使用的基本docker映像:

FROM java:7-jdk-alpine

您正在尝试通过运行run.shbash脚本来启动容器。但上面的映像不支持bash本身

作为参考,您可以在这里的docker hub页面中看到上面图像的文档。这里引用必要的部分:

...

为了最小化图像大小,在基于Alpine的图像中包含其他相关工具(如git或bash)并不常见。使用这个映像作为基础,在您自己的Dockerfile中添加您需要的东西(如果您不熟悉如何安装包的示例,请参见alpine映像描述)。

这就是问题所在。

现在,我能想到2个解决方案:

>

  • 只需使用java:7-jdk作为基础映像,而不是java:7-jdk-alpine
  • 在基本映像java:7-jdk-alpine上安装bash,方法是将dockerfile更改为:

    FROM java:7-jdk-alpine
    RUN apk update && apk upgrade && apk add bash
    #WORKDIR /usr/local/etc
    

  •  类似资料:
    • 问题内容: 我在运行docker文件时收到来自docker的错误消息。就是说/ var / lib / docker / aufs / layers / xxxx:运行Docker build时没有这样的文件或目录。 我尝试了多种方法来删除容器和图像,因此我对此非常有兴趣。 任何 Docker文件为: 完整的控制台输出为: 编辑 @BMitchs的建议解决了该问题: rm -rf / var /

    • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑

    • 问题内容: 我从节点应用程序收到此错误: 我知道文件在那里,因为当我尝试使用确切的复制和粘贴路径打开文件时,它可以工作。我也知道应用程序使用的是正确的目录,因为它会在错误中输出它。 问题答案: 波浪形扩展是一件空壳的事情。编写正确的路径名(可能是yourusername )或使用

    • 问题内容: 我最近在运行Ubuntu 12.04 LTS的Macbook Pro上安装了用于C ++开发的KDevelop 4。 我想在我的C ++代码中嵌入Python应用程序。为此,需要包含Python.h头文件。所以,我做到了。 但是,在运行时,我从IDE收到以下响应: 但是,我很快就发现了问题。我还没有下载python- dev软件包。所以,我做到了。我又跑了一次,但同样的错误又出现了。因

    • 我想我没有从源代码正确安装pylint。这是学习python中包如何工作的好机会。 我从源代码中安装了,我可以在我的pip列表中看到它。 我想卸载它并从pypi安装。 但是,我的2个pip是空的,但是当我使用 我得到一个错误 有没有办法删除这个bash命令?Pylint可能是安装了,但我不知道在哪里,或如何删除它? 编辑:正如评论中建议的,我尝试了这个链接查找哪个版本的包安装了pip。这也给了我一

    • 一切正常,uri正在获取图像和路径,但在第二个acitivty返回时,图像不显示在imageView中,并在logcat中显示,请帮助 E/Ashish://storage/emulated/0/pictures/fotoaula/img_20180329_183302.jpg E/bitmapFactory:无法解码流:java.io.fileNotFoundException://storag