Cela fait un an que j'ai commencé python, mais je ne suis toujours pas habitué à créer un environnement Python. Les gestionnaires de packages en particulier se sentent comme le plus faible de nombreux langages. Pour une raison quelconque, lorsque j'ai essayé de créer un environnement de développement sur mac, une erreur liée à OpenSSL s'est produite.
Nous avons résumé comment créer un environnement de développement sur docker pour résoudre de tels problèmes.
La source est répertoriée sur Github.
├── pyproject.toml
└── docker
└── Dockerfile
└── docker-compose.yml
└── mysite/*
Seuls les fichiers principaux sont décrits. Conservez les fichiers créés par Django.
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"
Pour le moment, vérifiez le fonctionnement avec docker-compose up
sans Pycharm.
$ cd docker
$ docker-compose up -d
$ curl http://127.0.0.1:8000/
$ docker-compose down
hello1
Le but est de définir le paramètre sur runserver 0.0.0.0: 8000
Cela arrêtera également le point d'arrêt. Il sera également reflété sans redémarrer docker-compose en modifiant le fichier.
Cela rend le côté hôte propre. Vous pouvez facilement créer un environnement de développement.
Recommended Posts