mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-04-13 08:28:32 +00:00
- Dockerfile: Ubuntu 22.04 + systemd for testing installer end-to-end - docker-compose.yml: build config for image - test_release.sh: orchestration script (build/run/install/clean/logs) - auto_install.sh: feeds answers to interactive installer prompts - README.md: usage documentation Container runs privileged with --cgroupns=host for systemd support. Mounts dist/XC_VM.zip read-only, runs full install + post-verification.
36 lines
1.4 KiB
Docker
36 lines
1.4 KiB
Docker
FROM ubuntu:22.04
|
||
|
||
ENV DEBIAN_FRONTEND=noninteractive
|
||
ENV container=docker
|
||
ENV LC_ALL=C
|
||
ENV TZ=UTC
|
||
|
||
# systemd — необходим для инсталлятора (systemctl enable/start xc_vm)
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
systemd systemd-sysv dbus \
|
||
lsb-release sudo python3 python3-pip wget curl unzip \
|
||
iproute2 net-tools apt-utils ca-certificates gnupg \
|
||
&& apt-get clean \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# Убираем только действительно ненужные в контейнере юниты
|
||
# НЕ трогаем sysinit.target.wants (journald, tmpfiles, sysctl — нужны)
|
||
RUN rm -f /lib/systemd/system/multi-user.target.wants/* \
|
||
/lib/systemd/system/local-fs.target.wants/* \
|
||
/lib/systemd/system/sockets.target.wants/*udev* \
|
||
/lib/systemd/system/sockets.target.wants/*initctl* \
|
||
/lib/systemd/system/anaconda.target.wants/* \
|
||
/lib/systemd/system/plymouth* \
|
||
/lib/systemd/system/systemd-update-utmp*
|
||
|
||
STOPSIGNAL SIGRTMIN+3
|
||
|
||
WORKDIR /opt/xcvm-install
|
||
|
||
# Скрипт автоматической установки (подаёт ответы на интерактивные вопросы)
|
||
COPY auto_install.sh /opt/xcvm-install/auto_install.sh
|
||
RUN chmod +x /opt/xcvm-install/auto_install.sh
|
||
|
||
# Точка входа — systemd (PID 1), установка запускается вручную или через скрипт
|
||
CMD ["/sbin/init"]
|