FROM centos:8 as build RUN yum install -y gcc-c++ make cmake zlib-devel openssl-devel redhat-rpm-config RUN yum install -y epel-release RUN yum install -y mbedtls-devel RUN groupadd app && useradd -g app app RUN chown -R app:app /opt RUN chown -R app:app /usr/local # There is a bug in CMake where we cannot build from the root top folder # So we build from /opt COPY --chown=app:app . /opt WORKDIR /opt USER app RUN [ "make", "ws_mbedtls_install" ] RUN [ "rm", "-rf", "build" ] FROM centos:8 as runtime RUN yum install -y gdb strace RUN yum install -y epel-release RUN yum install -y mbedtls RUN groupadd app && useradd -g app app COPY --chown=app:app --from=build /usr/local/bin/ws /usr/local/bin/ws RUN chmod +x /usr/local/bin/ws RUN ldd /usr/local/bin/ws # Copy source code for gcc COPY --chown=app:app --from=build /opt /opt # Now run in usermode USER app WORKDIR /home/app ENTRYPOINT ["ws"] EXPOSE 8008