Files
bgp-server/Dockerfile
T

42 lines
1.1 KiB
Docker

FROM python:3.9-slim
# Установка системных зависимостей
RUN apt-get update && apt-get install -y \
iproute2 \
iputils-ping \
net-tools \
&& rm -rf /var/lib/apt/lists/*
# Установка ExaBGP
RUN pip install exabgp
# Создание структуры директорий
RUN mkdir -p /app/scripts /app/data /app/logs /run/exabgp /var/run/exabgp /usr/local/run/exabgp /usr/local/var/run/exabgp
# Копирование файлов
COPY exabgp.conf /app/exabgp.conf
COPY scripts/ /app/scripts/
COPY data/ /app/data/
# Установка прав доступа
RUN chmod +x /app/scripts/start.sh
RUN chmod +x /app/scripts/load_prefixes.py
RUN chmod +x /app/scripts/generate_config.py
# Рабочая директория
WORKDIR /app
# Открытие BGP порта
EXPOSE 179
# Установка переменных окружения по умолчанию
ENV BGP_LOCAL_AS=65000
ENV BGP_ROUTER_ID=192.168.1.100
ENV BGP_NEIGHBOR_IP=192.168.1.1
ENV BGP_NEIGHBOR_AS=65001
ENV BGP_HOLD_TIME=90
ENV BGP_KEEPALIVE=30
ENV BGP_LOG_LEVEL=INFO
# Команда запуска
ENTRYPOINT ["/app/scripts/start.sh"]