mirror of
https://github.com/gyptazy/ProxLB.git
synced 2026-04-06 04:41:58 +02:00
feat: optimize Dockerfile, create docker-compose with build
This commit is contained in:
21
Dockerfile
21
Dockerfile
@@ -1,5 +1,5 @@
|
||||
# Use the official Debian 12 base image
|
||||
FROM debian:12
|
||||
# Use the official Python 3.12 image
|
||||
FROM python:3.12
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="gyptazy@gyptazy.ch"
|
||||
@@ -7,29 +7,16 @@ LABEL org.label-schema.schema-version="0.9"
|
||||
LABEL org.label-schema.description="ProxLB - Rebalance VM workloads across nodes in a Proxmox cluster."
|
||||
LABEL org.label-schema.url="https://github.com/gyptazy/ProxLB"
|
||||
|
||||
# Set environment variables
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install python3 and python3-venv
|
||||
RUN apt-get update && \
|
||||
apt-get install -y python3 python3-pip python3-venv && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create a directory for the app
|
||||
WORKDIR /app
|
||||
|
||||
# Copy the python program from the current directory to /app
|
||||
COPY proxlb /app/proxlb
|
||||
|
||||
# Create a virtual environment
|
||||
RUN python3 -m venv venv
|
||||
|
||||
# Copy requirements to the container
|
||||
COPY requirements.txt /app/requirements.txt
|
||||
|
||||
# Install dependencies in the virtual environment
|
||||
RUN . venv/bin/activate && pip install -r /app/requirements.txt
|
||||
RUN pip install -r /app/requirements.txt
|
||||
|
||||
# Set the entry point to use the virtual environment's python
|
||||
ENTRYPOINT ["/app/venv/bin/python3", "/app/proxlb"]
|
||||
ENTRYPOINT ["python3", "/app/proxlb"]
|
||||
|
||||
7
docker-compose.yml
Normal file
7
docker-compose.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
services:
|
||||
proxlb:
|
||||
build: .
|
||||
volumes:
|
||||
- ./proxlb.conf:/etc/proxlb/proxlb.conf
|
||||
restart: unless-stopped
|
||||
container_name: proxlb
|
||||
Reference in New Issue
Block a user