gpt4 book ai didi

javascript - Docker 本地 js 文件 IO 错误

转载 作者:行者123 更新时间:2023-12-03 11:59:01 27 4
gpt4 key购买 nike

我很难用 docker 加载本地 js 文件。我在本地计算机上进行测试没有问题,但如果我将其托管在 docker No such file or directory: 'static/js/data.js 上运行的 Web 服务器上错误。

我的代码组织如下:

Root/
application.py

static/
js/
data.js

templates/
index.html

application.py我正在生成文件 data.js和来自 index.html我读了文件data.js没问题<script src="../static/js/data_data.js"></script>

application.py我使用 file = open("static/js/data.js", "w+") 创建一个文件在本地计算机上运行良好,但在 Web 服务器 (EC2) 中运行不佳

这是我的 dockerfile

FROM ubuntu:14.04

RUN apt-get update
RUN apt-get install python-setuptools -y && DEBIAN_FRONTEND=noninteractive apt-get install python-setuptools -y
RUN apt-get install python-pip -y
RUN apt-get install python-numpy -y
RUN apt-get install python-matplotlib -y
RUN apt-get install python-mysqldb -y
RUN apt-get install libpq-dev -y
RUN apt-get install python-psycopg2 -y
RUN apt-get install python-pandas -y
RUN pip install flask

ADD . /src

# Expose
EXPOSE 80

# Run
CMD ["python", "/src/application.py"]

最佳答案

问题是您没有在应用程序中指定绝对链接。

<小时/>

您可以通过执行以下操作轻松地在本地重现此问题

cd /
python /<pathtosrc>/src/application.py
<小时/>

Docker工作目录默认为/

因此,当您尝试执行程序时,它会搜索 /static/js/data.js。但它不存在。

您可以通过使用绝对链接或更改 Dockerfile 中的 Docker 工作目录来解决该问题。只需在末尾添加以下行

# Run
CMD ["python", "/src/application.py"]
WORKDIR /src

请记住,WORKDIR 将为 WORKDIR 行之后运行的每个命令更改工作目录

关于javascript - Docker 本地 js 文件 IO 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486588/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com