簡體   English   中英

PermissionError: [WinError 5] Access Denied: [4776] 運行 docker-compose up 時無法執行腳本 docker-compose

[英]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:

TL; 博士

我認為存在以下問題:

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM