我具有以下项目结构
twoFlasks/
├── app.py
├── common/
│ ├── file1.py
│ ├── file2.py
│ └── file3.py
├── Dockerfile
├── requirements.txt
├── bot1/
│ │
│ ├── routes/
│ │ └── bot1_routes.py
└── bot2/
└── routes/
└── bot2_routes.py
以及以下Dockerfile:
FROM python:3.8
WORKDIR /project
COPY requirements.txt .
COPY app.py .
RUN pip3 install -r requirements.txt
COPY bot1/ .
COPY bot2/ .
COPY common/ .
EXPOSE 5000 3000
CMD ["python", "./app.py"]
该映像已成功构建,但是当我必须运行容器时,会从我的app.py文件的日志中收到以下错误消息
Traceback (most recent call last):
File "./app.py", line 9, in <module>
from bot2.routes import bot2_routes
ModuleNotFoundError: No module named 'bot2'
它在本地工作,但不能在Docker容器中工作,我有点不知所措。如果有人知道可能是什么问题,我将不胜感激!
答案 0 :(得分:0)
如果您使用的是Python <3.3,则需要在包根目录中使用<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>
<body>
<div class="back1">
<h1 class="h1">PARALLAX  EFFECT</h1>
<img src="xicon.svg" width="25px" class="xicon" alt="xicon">
<p class="swipe">Swipe up</p>
</div>
<div class="section1">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis excepturi vel quaerat autem vitae corrupti ut sapiente? Ipsa asperiores odio perspiciatis vitae in! Ex ducimus numquam, nesciunt vel maiores fuga in eaque iure fugiat perspiciatis tempore ipsum magni necessitatibus ratione cum harum illum consequuntur earum praesentium impedit tenetur adipisci odio provident. Esse deleniti fugiat dolorem obcaecati quae. Animi corporis, eos laboriosam numquam! Quae labore minus modi, cupiditate ea culpa deleniti, mollitia ipsam recusandae numquam amet cumque, ad eius. Harum aspernatur hic consectetur obcaecati est deleniti aperiam repellendus voluptate alias. Ducimus cumque sapiente reprehenderit veniam ratione nostrum enim odio accusantium dicta.</p>
</div>
<div class="back2"></div>
<div class="section2">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis excepturi vel quaerat autem vitae corrupti ut sapiente? Ipsa asperiores odio perspiciatis vitae in! Ex ducimus numquam, nesciunt vel maiores fuga in eaque iure fugiat perspiciatis tempore ipsum magni necessitatibus ratione cum harum illum consequuntur earum praesentium impedit tenetur adipisci odio provident. Esse deleniti fugiat dolorem obcaecati quae. Animi corporis, eos laboriosam numquam! Quae labore minus modi, cupiditate ea culpa deleniti, mollitia ipsam recusandae numquam amet cumque, ad eius. Harum aspernatur hic consectetur obcaecati est deleniti aperiam repellendus voluptate alias. Ducimus cumque sapiente reprehenderit veniam ratione nostrum enim odio accusantium dicta.</p>
</div>
<div class="back3"></div>
<div class="section3">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis excepturi vel quaerat autem vitae corrupti ut sapiente? Ipsa asperiores odio perspiciatis vitae in! Ex ducimus numquam, nesciunt vel maiores fuga in eaque iure fugiat perspiciatis tempore ipsum magni necessitatibus ratione cum harum illum consequuntur earum praesentium impedit tenetur adipisci odio provident. Esse deleniti fugiat dolorem obcaecati quae. Animi corporis, eos laboriosam numquam! Quae labore minus modi, cupiditate ea culpa deleniti, mollitia ipsam recusandae numquam amet cumque, ad eius. Harum aspernatur hic consectetur obcaecati est deleniti aperiam repellendus voluptate alias. Ducimus cumque sapiente reprehenderit veniam ratione nostrum enim odio accusantium dicta.</p>
</div>
<script src="app.js">
</script>
</body>
</html>
文件来帮助Python构建名称空间:Python - Module Not Found
答案 1 :(得分:0)
所以,解决我的问题的是Dockerfile中的更改。
COPY bot1/ ./bot1
COPY bot2/ .bot2
COPY common/ ./common
不仅仅是将文件夹复制到。