From 6397e825bdab912b2de76d76cf9d1dfffb6290a8 Mon Sep 17 00:00:00 2001 From: Nicolas Viennot Date: Sun, 25 Aug 2019 04:41:38 -0400 Subject: [PATCH] Dockerfile update --- Dockerfile | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 48491da2..584f9ea1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,11 @@ -FROM alpine:3.9 +FROM alpine:3.9 AS build RUN apk add --no-cache msgpack-c ncurses-libs libevent libexecinfo openssl zlib +RUN apk add --no-cache git wget cmake make gcc g++ linux-headers zlib-dev openssl-dev \ + automake autoconf libevent-dev ncurses-dev msgpack-c-dev libexecinfo-dev + RUN set -ex; \ - apk add --no-cache --virtual .build-deps \ - git wget cmake make gcc g++ linux-headers zlib-dev openssl-dev \ - automake autoconf libevent-dev ncurses-dev msgpack-c-dev libexecinfo-dev; \ - \ mkdir -p /src/libssh/build; \ cd /src; \ wget -O libssh.tar.xz https://www.libssh.org/files/0.9/libssh-0.9.0.tar.xz; \ @@ -14,18 +13,25 @@ RUN set -ex; \ cd /src/libssh/build; \ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DWITH_SFTP=OFF ..; \ make -j "$(nproc)"; \ - make install ;\ - \ - mkdir -p /src/; \ - cd /src/; \ - git clone https://github.com/tmate-io/tmate-ssh-server.git; \ - cd tmate-ssh-server; \ + make install + +RUN mkdir -p /src/tmate-ssh-server +COPY . /src/tmate-ssh-server + +RUN set -ex; \ + cd /src/tmate-ssh-server; \ ./autogen.sh; \ ./configure --prefix=/usr CFLAGS="-D_GNU_SOURCE"; \ make -j "$(nproc)"; \ - make install ;\ - rm -rf /src; \ - apk del .build-deps + make install + +### Minimal run-time image +FROM alpine:3.9 + +RUN apk add --no-cache msgpack-c ncurses-libs libevent libexecinfo openssl zlib + +COPY --from=build /usr/lib/libssh.so.* /usr/lib/ +COPY --from=build /usr/bin/tmate-ssh-server /usr/bin/ # TODO not run as root. Instead, use capabilities.