FROM golang:1.20 AS build WORKDIR /usr/src/l2sm-switch COPY ./src/switch/ ./build/switch/build-go.sh ./ RUN chmod +x ./build-go.sh && ./build-go.sh FROM ubuntu:latest WORKDIR /usr/local/bin COPY ./src/switch/vswitch.ovsschema /tmp/ COPY --from=build /usr/local/bin/ . RUN apt-get update && \ apt-get install -y net-tools iproute2 netcat-openbsd dnsutils curl iputils-ping iptables nmap tcpdump openvswitch-switch && \ mkdir /var/run/openvswitch && mkdir -p /etc/openvswitch && ovsdb-tool create /etc/openvswitch/conf.db /tmp/vswitch.ovsschema COPY ./src/switch/setup_switch.sh . RUN chmod +x ./setup_switch.sh && \ mkdir /etc/l2sm/ CMD [ "./setup_switch.sh" ]