Dès que je voulais un conteneur qui pourrait spécifier la version de python. (Principalement dû à icrawler) J'ai décidé d'utiliser docker-compose car il est facile à jeter si je le fais dans un conteneur et il est facile de gérer les ports.
Créez des fichiers et des dossiers.
$ mkdir python
$ cd python
$ touch Dockerfile
$ touch docker-compose.yml
$ touch requirements.txt //Notez le colis que vous souhaitez mettre
$ mkdir workspace
S'il existe un moyen de rendre l'autorité root lorsque le volume est effectué depuis l'intérieur du conteneur, veuillez m'en informer.
Dockerfile
FROM python:3.6
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ARG DOCKER_UID=1000
ARG DOCKER_USER=docker-user
RUN useradd -m --uid ${DOCKER_UID} --groups sudo ${DOCKER_USER}
USER ${DOCKER_USER}
WORKDIR /home/docker-user
docker-compose.yml
version: "3"
services:
python36:
build: .
container_name: python36
ports:
- "5000:5000"
tty: true
volumes:
- ./workspace:/home/docker-user
La préparation est terminée.
Construisez un conteneur. Alors entrez simplement.
$ docker-compose build
$ docker-compose up -d
#Comment entrer
$ docker-compose exec python36 bash
#Lors de la saisie en tant que root
$ docker-compose exec --user=root python36 bash
En guise d'engagement, je n'opère pas en tant que root. Notez simplement que je ne peux rien dire parce que je ne sais pas comment l'écrire.
Docker hub Installation de package en masse à l'aide de requirements.txt avec Python, pip
Recommended Posts