mirror of
				https://github.com/linka-cloud/d2vm.git
				synced 2025-11-04 03:21:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM {{ .Image }}
 | 
						|
 | 
						|
USER root
 | 
						|
 | 
						|
{{- if eq .Release.VersionID "9" }}
 | 
						|
RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list && \
 | 
						|
    echo "deb-src http://archive.debian.org/debian stretch main" >> /etc/apt/sources.list && \
 | 
						|
    echo "deb http://archive.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && \
 | 
						|
    echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list && \
 | 
						|
    echo "deb-src http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list
 | 
						|
{{- end }}
 | 
						|
 | 
						|
RUN apt-get update && \
 | 
						|
    DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
 | 
						|
      linux-image-amd64 && \
 | 
						|
      find /boot -type l -exec rm {} \;
 | 
						|
 | 
						|
RUN ARCH="$([ "$(uname -m)" = "x86_64" ] && echo amd64 || echo arm64)"; \
 | 
						|
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 | 
						|
      systemd-sysv \
 | 
						|
      systemd \
 | 
						|
    {{- if .Grub }}
 | 
						|
      grub-common \
 | 
						|
      grub2-common \
 | 
						|
    {{- end }}
 | 
						|
    {{- if .GrubBIOS }}
 | 
						|
      grub-pc-bin \
 | 
						|
    {{- end }}
 | 
						|
    {{- if .GrubEFI }}
 | 
						|
      grub-efi-${ARCH}-bin \
 | 
						|
    {{- end }}
 | 
						|
      dbus \
 | 
						|
      iproute2 \
 | 
						|
      isc-dhcp-client \
 | 
						|
      iputils-ping
 | 
						|
 | 
						|
RUN systemctl preset-all
 | 
						|
 | 
						|
{{ if .Password }}RUN echo "root:{{ .Password }}" | chpasswd {{ end }}
 | 
						|
 | 
						|
{{ if eq .NetworkManager "netplan" }}
 | 
						|
RUN apt install -y netplan.io
 | 
						|
RUN mkdir -p /etc/netplan && printf '\
 | 
						|
network:\n\
 | 
						|
  version: 2\n\
 | 
						|
  renderer: networkd\n\
 | 
						|
  ethernets:\n\
 | 
						|
    eth0:\n\
 | 
						|
      dhcp4: true\n\
 | 
						|
      dhcp-identifier: mac\n\
 | 
						|
      nameservers:\n\
 | 
						|
        addresses:\n\
 | 
						|
        - 8.8.8.8\n\
 | 
						|
        - 8.8.4.4\n\
 | 
						|
' > /etc/netplan/00-netcfg.yaml
 | 
						|
{{ else if eq .NetworkManager "ifupdown"}}
 | 
						|
RUN if [ -z "$(apt-cache madison ifupdown2 2> /dev/nul)" ]; then apt install -y ifupdown; else apt install -y ifupdown2; fi
 | 
						|
RUN mkdir -p /etc/network && printf '\
 | 
						|
auto eth0\n\
 | 
						|
allow-hotplug eth0\n\
 | 
						|
iface eth0 inet dhcp\n\
 | 
						|
' > /etc/network/interfaces
 | 
						|
{{ end }}
 | 
						|
 | 
						|
 | 
						|
{{- if .Luks }}
 | 
						|
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cryptsetup-initramfs && \
 | 
						|
    echo "CRYPTSETUP=y" >> /etc/cryptsetup-initramfs/conf-hook && \
 | 
						|
    update-initramfs -u -v
 | 
						|
{{- end }}
 | 
						|
 | 
						|
# needs to be after update-initramfs
 | 
						|
{{- if not .Grub }}
 | 
						|
RUN mv $(ls -t /boot/vmlinuz-* | head -n 1) /boot/vmlinuz && \
 | 
						|
      mv $(ls -t /boot/initrd.img-* | head -n 1) /boot/initrd.img
 | 
						|
{{- end }}
 | 
						|
 | 
						|
RUN apt-get clean && \
 | 
						|
    rm -rf /var/lib/apt/lists/*
 |