![](/img/trans.png)
[英]Failed to execute script docker-compose when I try docker-compose up
[英]PermissionError: [WinError 5] Access Denied: [4776] Failed to execute script docker-compose when running docker-compose up
我已經構建了一個測試應用程序來更好地理解 FastAPI 和 sqlalchemy 的概念我希望該應用程序能夠提供一個 docker-compose.yml,只需執行docker-compose up
即可用於運行我的解決方案
但我越來越
Building al_test
Traceback (most recent call last):
File "docker-compose", line 3, in <module>
File "compose\cli\main.py", line 67, in main
File "compose\cli\main.py", line 126, in perform_command
File "compose\cli\main.py", line 1070, in up
File "compose\cli\main.py", line 1066, in up
File "compose\project.py", line 615, in up
File "compose\service.py", line 362, in ensure_image_exists
File "compose\service.py", line 1125, in build
File "site-packages\docker\api\build.py", line 160, in build
File "site-packages\docker\utils\build.py", line 30, in tar
File "site-packages\docker\utils\build.py", line 49, in exclude_paths
File "site-packages\docker\utils\build.py", line 214, in rec_walk
File "site-packages\docker\utils\build.py", line 214, in rec_walk
File "site-packages\docker\utils\build.py", line 184, in rec_walk
PermissionError: [WinError 5] Отказано в доступе: '\\\\?\\C:\\$Recycle.Bin\\S-1-5-18'
[4776] Failed to execute script docker-compose
我的碼頭文件
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
COPY . /app
WORKDIR /app
ADD . /app
ENV DATABASE_URL="postgres://superuser:superuser@localhost:5433/al-test-3"
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
和 docker-compose.yml
version: '3.8'
services:
al_test:
build: /
ports:
- 5001:80
postgresql:
image: "bitnami/postgresql:latest"
volumes:
- postgresql-data:/bitnami/postgresql
ports:
- "5446:5432"
environment:
- POSTGRESQL_DATABASE=al-test-3
- POSTGRESQL_USERNAME=superuser
- POSTGRESQL_PASSWORD=superuser
- POSTGRESQL_POSTGRES_PASSWORD=superuser
volumes:
postgresql-data:
我認為存在以下問題:
build: /
要使用本地文件夾作為上下文進行構建,您應該說
build: ./
話雖如此,您的項目是如何構建的? 你的Dockerfile
在哪里? 是嗎
app
- some.py
Dockerfile
requirement.txt
docker-compose.yaml
從docker-compose.yml
的角度來看, ./
是它所在的文件夾。在 Unix 文件系統中/
代表文件系統的根目錄; 你會稱之為C:\\
。
我不確定docker是如何集成到 Windows 中的,但有可能將/
翻譯為您的 docker 惡魔無權讀取的某個地方,從而在編譯期間引發此PermissionError
。
在嘗試將各種文件夾裝入容器時,您可能會遇到類似的正確問題。 這是修復(發生時)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.