mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
This implementation works, but it is on the proof-of-concept stage and requires extended testing.
69 lines
2.1 KiB
Docker
69 lines
2.1 KiB
Docker
# syntax = docker/dockerfile:1
|
|
|
|
# Copyright (C) 2020 VyOS maintainers and contributors
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License version 2 or later as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Define arguments for VyOS image
|
|
ARG VYOS_VERSION
|
|
ARG BUILD_DATE
|
|
ARG DEBIAN_VERSION
|
|
|
|
# Use Debian as base layer
|
|
FROM debian:${DEBIAN_VERSION}-slim
|
|
# Copy installer script and default build settings
|
|
COPY [ "data/defaults.json", "data/live-build-config/archives/*", "docker-vyos/vyos_install_common.sh", "docker-vyos/vyos_install_stage_01.sh", "/tmp/" ]
|
|
COPY [ "data/live-build-config/hooks/live/*", "/tmp/hooks/" ]
|
|
|
|
|
|
# Install VyOS dependencies
|
|
WORKDIR /tmp
|
|
RUN bash /tmp/vyos_install_stage_01.sh
|
|
|
|
|
|
# Install VyOS specific software
|
|
COPY [ "data/defaults.json", "docker-vyos/vyos_install_common.sh", "docker-vyos/vyos_install_stage_02.sh", "/tmp/" ]
|
|
RUN bash /tmp/vyos_install_stage_02.sh
|
|
|
|
|
|
# Tune system for VyOS
|
|
COPY [ "docker-vyos/vyos_install_common.sh", "docker-vyos/vyos_install_stage_03.sh", "/tmp/" ]
|
|
# Copy skel for bash profile
|
|
COPY data/live-build-config/includes.chroot/etc/skel/.bashrc /etc/skel/.bashrc
|
|
# Copy default config
|
|
COPY data/live-build-config/includes.chroot/opt/vyatta/etc/config.boot.default /opt/vyatta/etc/
|
|
|
|
RUN bash /tmp/vyos_install_stage_03.sh
|
|
|
|
# Delete installer scripts
|
|
RUN rm -rf /tmp/*
|
|
|
|
|
|
# Make changes specific to the container environment
|
|
|
|
# Tell systemd that we are inside container
|
|
ENV container=docker
|
|
|
|
# Set proper STOPSIGNAL
|
|
STOPSIGNAL SIGRTMIN+3
|
|
|
|
# Run VyOS
|
|
CMD [ "/lib/systemd/systemd" ]
|
|
|
|
# Describe this image
|
|
LABEL maintainer="support@vyos.io" \
|
|
description="VyOS for Docker" \
|
|
vendor="Sentrium S.L." \
|
|
version=${VYOS_VERSION} \
|
|
io.vyos.build-date=${BUILD_DATE}
|