Es ist ein Jahr her, seit ich Python gestartet habe, aber ich bin es immer noch nicht gewohnt, eine Python-Umgebung zu erstellen. Insbesondere Paketmanager fühlen sich als die schwächste von vielen Sprachen. Aus irgendeinem Grund ist beim Versuch, eine Entwicklungsumgebung auf einem Mac zu erstellen, ein Fehler im Zusammenhang mit OpenSSL aufgetreten.
Wir haben zusammengefasst, wie eine Entwicklungsumgebung auf Docker erstellt wird, um solche Probleme zu lösen.
Die Quelle ist auf Github aufgeführt.
├── pyproject.toml
└── docker
└── Dockerfile
└── docker-compose.yml
└── mysite/*
Es werden nur die Hauptdateien beschrieben. Behalten Sie die von Django erstellten Dateien bei.
pyproject.toml
[tool.poetry]
name = "python-dev-on-docker"
version = "0.1.0"
description = ""
authors = ["va034600"]
[tool.poetry.dependencies]
python = "^3.6"
django = "^3.1.1"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
Dockerfile
FROM python:3.6.8
WORKDIR /usr/src/app
ENV POETRY_VERSION=1.0.10 \
PATH="/root/.poetry/bin:$PATH"
RUN curl -sSL https://raw.githubusercontent.com/sdispater/poetry/${POETRY_VERSION}/get-poetry.py | python && \
poetry config virtualenvs.create false
COPY ./pyproject.toml /usr/src/app/pyproject.toml
RUN poetry install
CMD tail -f /dev/null
docker-compose.yml
version: '3.5'
services:
app:
build:
context: ../
dockerfile: ./docker/Dockerfile
working_dir: /usr/src/app/mysite
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ../mysite:/usr/src/app/mysite
ports:
- "8000:8000"
Überprüfen Sie vorerst den Vorgang mit "Docker-Compose Up" ohne Pycharm.
$ cd docker
$ docker-compose up -d
$ curl http://127.0.0.1:8000/
$ docker-compose down
hello1
Der Punkt ist, den Parameter auf "runserver 0.0.0.0: 8000" zu setzen
Dadurch wird auch der Haltepunkt gestoppt. Es wird auch ohne Neustart von Docker-Compose durch Ändern der Datei wiedergegeben.
Dies macht die Host-Seite sauber. Sie können problemlos eine Entwicklungsumgebung erstellen.
Recommended Posts