Closed7

Building python applications using docker

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

1.Create a Dockerfile for the application:

FROM python:3

COPY . /app
WORKDIR /app

RUN pip install -r requirements.txt

CMD ["python", "main.py"]

This Dockerfile specifies a base image of Python 3 and copies the files from the current directory () to the directory in the container. It then sets the working directory to and installs any necessary Python packages using the package manager. Finally, it specifies the command to run when the container starts, which is to execute the script using the command../app/apppipmain.pypython

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

2.Build the Docker image:

$ docker build -t myapp:latest .

This command builds the Docker image using the Dockerfile and tags it with the name and the tag .myapplatest

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

3.Push the image to a container registry:

$ docker push myapp:latest

This command pushes the image to a container registry, such as Docker Hub, so that it can be accessed from Kubernetes.

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

4.Create a Kubernetes deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:latest
        ports:
        - containerPort: 8080

This deployment configuration file specifies a deployment named that runs a single replica of a container based on the image. It also exposes port 8080 on the container.myapp-deploymentmyapp

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

5.Apply the deployment:

$ kubectl apply -f deployment.yaml

This command applies the deployment configuration file, creating the deployment and the associated pod.

SeaOtter (Kentaro Mori)SeaOtter (Kentaro Mori)

6.Verify that the pod is running:

$ kubectl get pods

This command lists the pods in the cluster and shows the status of each pod. You should see a pod named , where is a unique identifier, with a status of .myapp-deployment-xxxxxxxxxxRunning

That's it! You have now built and deployed an application written in Python to a Kubernetes pod.

このスクラップは2022/12/17にクローズされました