Vermeiden Sie das Erstellen von .egg-Dateien im schreibgeschützten Docker-Mount für lokale Abhängigkeiten (UV-Synchronis
Posted: 08 May 2025, 15:56
Ich versuche, mit diesem Befehl UV -Synchronisation innerhalb von Docker zu verwenden:
Dockerfile
Dies möchte jedoch .EGG -Dateien erstellen, die fehlschlagen, weil ich den Paket nur als Lesen montiert habe (und ich möchte ihn so behalten). Dies ist mein aktuelles Projektlayout: < /p>
...
Wie Sie sehen, versuche ich nur, den FTP-Mock für den Workspace-Member zu erstellen, für das wiederum lokale Shared erforderlich ist. Jetzt versucht UV Sync , lokal-Shared zu installieren, wodurch die Datei .egg erstellt wird (oder vielmehr versucht sie, weil sie nur Lesezugriff auf die Halterung hat). Wie kann ich es vermeiden, mein Verzeichnis mit der Eierdatei (oder neuen Dateien) zu verschmutzen, damit Docker nicht mehr beschwert?
Dockerfile
Code: Select all
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
--mount=type=bind,source=packages,target=/app/packages \
uv sync --package ftp-mock --locked --no-editable
Code: Select all
.
├── packages
│ ├── ftp-mock
│ │ ├── config
│ │ │ ├── config_dev.json
│ │ │ └── ftp_mock_config.py
│ │ ├── Dockerfile
│ │ ├── ftp_mock.py
│ │ └── pyproject.toml
│ ├── http-mock
│ │ ├── config
│ │ │ ├── config_dev.json
│ │ │ └── http_mock_config.py
│ │ ├── Dockerfile
│ │ ├── pyproject.toml
│ │ ├── http_mock.py
│ │ └── templates
│ │ └── index.html
│ ├── local-shared
│ │ ├── __init__.py
│ │ ├── pyproject.toml
│ │ ├── mymodule.py
│ ├── main-app
│ │ ├── config
│ │ │ ├── config_dev.json
│ │ │ └── main_app_config.py
│ │ ├── Dockerfile
│ │ ├── pyproject.toml
│ │ └── main_app.py
│ └── __init__.py
Wie Sie sehen, versuche ich nur, den FTP-Mock für den Workspace-Member zu erstellen, für das wiederum lokale Shared erforderlich ist. Jetzt versucht UV Sync , lokal-Shared zu installieren, wodurch die Datei .egg erstellt wird (oder vielmehr versucht sie, weil sie nur Lesezugriff auf die Halterung hat). Wie kann ich es vermeiden, mein Verzeichnis mit der Eierdatei (oder neuen Dateien) zu verschmutzen, damit Docker nicht mehr beschwert?