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

在本地主机的Docker中找不到生成的文件

韩玉石
2023-03-14
root\
|
-- some stuff
|
-- application\
|  |
|  -- app_stuff
|  |
|  -- out\
|  |
|  -- main.cpp
|
-- some stuff

我正在尝试通过Docker构建这个应用程序。Dockerfile如下所示:

FROM emscripten/emsdk:latest 

RUN apt-get -q update 

RUN mkdir /app

WORKDIR /app

COPY . /app

RUN em++ application/main.cpp -o application/out/app.html

RUN pip3 install aiohttp

RUN pip3 install aiohttp_jinja2

RUN pip3 install jinja2

RUN ls application/out

docker-compose看起来像:

version: '3.8'

services:
    application:
        build: .
        volumes: 
            - ./application/out:/app/application/out
        command: python3 application/entry.py
        ports: 
            - "8080:8080"

正如您在Dockerfile中注意到的(运行em++application/main.cpp-o application/out/app.html),而docker正在处理它,它将生成新文件out-目录。然而,一旦它完成了,我就找不到那些文件了。

...
Step 10/10 : RUN ls application/out
 ---> Running in 603f6b99f4b0
app.html
app.js
app.wasm
...

我哪里认错了?

共有1个答案

齐振
2023-03-14

Dockerfile提供了关于如何构建docker映像的说明,而不是关于在活动容器中发生了什么。

如果通过docker-compose或通过docker run命令装入卷,则只在创建容器后装入卷。

所以发生的是

    null
#!/bin/bash
em++ /app/application/main.cpp -o /app/application/out/app.html
python3 /app/application/entry.py

在Dockerfile中,删除行run em++application/main.cpp-o application/out/app.html并将其替换为

COPY ./myscript.sh /
ENTRYPOINT /myscript.sh

并从docker-compose.yml文件中删除行命令:python3application/entry

如果您愿意,可以使用CMD命令而不是ENTRYPOINT,这只是个人喜好的问题。

 类似资料:
  • 我有一个,它将在docker容器内创建一个目录,并将生成的文件存储在那里。我想要这些文件 容器的目录: 为了实现这个操作,我试图输入,但不幸的是,没有任何内容被复制到本地目录。 docker-compose.yml代码 我可以问一下为什么什么都不被复制吗?我该如何执行这些操作? 谢谢,非常感谢您的帮助!!!

  • 我下载并反编译了minecraft插件的jar文件,并通过创建一个新的java项目Import将其添加到eclipse中 这导致了: 之后,我更改了一行代码,然后尝试导出它。 我不知道我该怎么做来解决这个问题。请帮忙。

  • 此功能将提供一个比较漂亮的接口文档页面,可提供给客户使用。 在easyopen-configuration下找到markdowndoc文件夹,将整个文件夹复制到一个地方,比如D:/盘下,D:/markdowndoc 运行D:/markdowndoc下的run.bat 在IndexController中新增一句配置:apiConfig.setMarkdownDocDir("D:/markdowndo

  • 是否有任何命令,我们可以运行并找出“Docker主机URI”?我发现了一些相关的问题,但没有得到确切的答案。

  • 问题内容: 我最近开始迁移到Docker 1.9和Docker-Compose 1.5的网络功能,以使用链接进行替换。 到目前为止,链接没有问题,nginx通过docker-compose连接到我的php5-fpm fastcgi服务器,该服务器位于一组中的另一台服务器中。新近,虽然当我运行php- fpm时,mongo和nginx容器启动,但是nginx随即退出 但是,如果我在运行php和mon