Maison >interface Web >js tutoriel >Configuration initiale de Docker Python Django

Configuration initiale de Docker Python Django

王林
王林original
2024-09-01 21:09:381014parcourir

Docker WorkFlow

1. Assurez-vous que votre fichier Docker est correct

Assurez-vous que votre Dockerfile est prêt et situé dans le répertoire racine de votre projet. D'après la discussion précédente, votre Dockerfile pourrait ressembler à ceci :

FROM python:3.11

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app

COPY requirements.txt .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

.
.
.

2. Créer l'image Docker

Ouvrez votre terminal et accédez au répertoire où se trouve votre Dockerfile. Exécutez ensuite la commande suivante pour créer l'image Docker et nommez-la my-docker-image :

docker build -t my-docker-image .

Cette commande exécute le conteneur et mappe le port 8000 du conteneur au port 8000 sur votre machine locale, vous permettant d'accéder à l'application Django via http://localhost:8000.

Si vous souhaitez exécuter le conteneur en arrière-plan, ajoutez l'option -d :

docker run -d -p 8000:8000 my-docker-image

Cela démarrera le conteneur en mode détaché.

**images Docker**

Pour vérifier les images Docker disponibles sur votre système, vous pouvez utiliser la commande suivante :

docker images

Cette commande affichera une liste de toutes les images Docker, ainsi que leur REPOSITORY, TAG, IMAGE ID, CREATED et SIZE.

Exemple de sortie :

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
my-docker-image     latest    d1a1f2e8f7b2   2 hours ago    450MB
python              3.11      a2d3c4e5f6g7   5 days ago     800MB

Explication:

  • REPOSITORY : le nom de l'image, par exemple, my-docker-image.
  • TAG : La balise de l'image, souvent utilisée pour spécifier les versions.
  • IMAGE ID : Un identifiant unique pour l'image.
  • CRÉÉ : L'heure à laquelle l'image a été créée.
  • TAILLE : La taille de l'image.

.
.
.

3.Créer un conteneur Docker

La commande que vous avez fournie exécutera un conteneur Docker nommé my-docker-container en mode détaché, mappant le port 8001 sur votre ordinateur local au port 8000 à l'intérieur du conteneur. Voici ce que fait la commande :

Commande:

docker run -d --name my-docker-container -p 8001:8000 my-docker-image

Explication:

  • -d : exécute le conteneur en mode détaché, ce qui signifie qu'il s'exécute en arrière-plan.
  • --name my-docker-container : Attribue le nom my-docker-container au conteneur.
  • -p 8001:8000 : Mappe le port 8001 de votre machine locale au port 8000 à l'intérieur du conteneur. Cela vous permet d'accéder à l'application Django à l'adresse http://localhost:8001.
  • my-docker-image : Spécifie l'image Docker à utiliser pour le conteneur.

Vérifiez que le conteneur est en cours d'exécution

Après avoir exécuté cette commande, vous pouvez vérifier si le conteneur est en cours d'exécution en utilisant :

docker ps

Cela listera tous les conteneurs en cours d'exécution avec leurs noms, statut et mappages de ports.

Accéder à l'application

Vous pouvez désormais accéder à votre application Django en accédant à http://localhost:8001 dans votre navigateur Web.

.
.
.

4.Volume Docker

docker run -d --name my-docker-container -p 8001:8000 -v .:/app mon-docker-image

La commande docker run que vous avez fournie est utilisée pour démarrer un conteneur Docker à partir d'une image Docker. Voici une répartition de la commande :

  • -d : Exécute le conteneur en mode détaché (en arrière-plan).
  • --name my-docker-container : attribue un nom au conteneur (my-docker-container).
  • -p 8001:8000 : mappe le port 8000 à l'intérieur du conteneur au port 8001 sur votre machine hôte. Cela signifie que vous pouvez accéder au service exécuté dans le conteneur sur localhost:8001 sur votre machine hôte.
  • -v .:/app : monte le répertoire actuel (.) de votre machine hôte vers le répertoire /app à l'intérieur du conteneur. Ceci est utile pour le développement lorsque vous souhaitez voir les changements en temps réel sans reconstruire l'image.
  • my-docker-image : Spécifie l'image Docker à utiliser pour le conteneur.

Ainsi, cette commande démarrera un conteneur en arrière-plan, avec le port 8000 à l'intérieur du conteneur accessible sur le port 8001 de votre machine hôte, et elle montera le répertoire actuel sur /app dans le conteneur. Si vous avez besoin d'ajustements ou d'explications supplémentaires, n'hésitez pas à demander !

.
.
.

5.Docker-compose.yml

Un fichier docker-compose.yml est utilisé pour définir et exécuter des applications Docker multi-conteneurs. Voici un exemple de base d'un fichier docker-compose.yml basé sur votre commande docker run :

version: '3.8'  # Specify the version of Docker Compose

services:
  my-service:
    image: my-docker-image  # The Docker image to use
    container_name: my-docker-container  # The name of the container
    ports:
      - "8001:8000"  # Map port 8000 in the container to port 8001 on the host
    volumes:
      - .:/app  # Mount the current directory to /app in the container
    # Optional: Add environment variables if needed
    # environment:
    #   - ENV_VAR_NAME=value
    # Optional: Specify any commands to run
    # command: python app.py

# Optional: Define networks or other configurations here
# networks:
#   default:
#     driver: bridge

Explanation:

  • version: Defines the version of Docker Compose file format. 3.8 is a common choice.
  • services: Lists all the containers you want to run.
    • my-service: The name of the service. You can use any name here.
    • image: Specifies the Docker image to use.
    • container_name: Assigns a name to the container.
    • ports: Maps container ports to host ports.
    • volumes: Mounts directories or files from the host to the container.
    • environment: (Optional) Defines environment variables inside the container.
    • command: (Optional) Overrides the default command specified in the Docker image.

To use this docker-compose.yml file, save it in your project directory and run:

docker-compose up

This command will start the container based on the configuration in the docker-compose.yml file.

Docker Python Django initial configuration setup

[Source - Mayank Ahuja ]

Let's understand the ?????? ???????? -

[1.] Develop
◾ Write your application code.

[2.] Dockerfile
◾ Create a Dockerfile that defines the environment and dependencies for your application.

[3.] Build Image
◾ Use docker build to create a Docker image from your Dockerfile.

[4.] Run Container
◾ Use docker run to launch a container from your image.
◾ The container is an isolated instance of your application.

[5.] Test
◾ Test your application within the container.
◾ If you make changes, rebuild the image and recreate the container.

[6.] Push => This is Optional
◾ Use docker push to share your image on a registry (e.g. Docker Hub).

[7.] Pull => This is Optional
◾ Others can use docker pull to download your image and run your application in their own environments.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn