]> prime8.dev >> repos - ttyd.git/commitdiff
Dockerfile: use multi-stage build
authorShuanglei Tao <tsl0922@gmail.com>
Sun, 8 Dec 2019 10:32:33 +0000 (18:32 +0800)
committerShuanglei Tao <tsl0922@gmail.com>
Sun, 8 Dec 2019 10:32:33 +0000 (18:32 +0800)
Dockerfile
Dockerfile-alpine

index 8da1698718fecf4d4fd0075a3e771520d1fd02e9..493cfaf4c64329f90b40bf95ce1cb103fde60b11 100644 (file)
@@ -1,37 +1,9 @@
-FROM ubuntu:16.04
-LABEL maintainer "Shuanglei Tao - tsl0922@gmail.com"
+FROM tsl0922/musl-cross
+RUN git clone --depth=1 https://github.com/tsl0922/ttyd.git /tmp/ttyd \
+    && cd /tmp/ttyd && ./scripts/cross-build.sh x86_64
 
-RUN apt-get update \
-    && apt-get install -y --no-install-recommends \
-      ca-certificates \
-      cmake \
-      curl \
-      g++ \
-      git \
-      libjson-c2 \
-      libjson-c-dev \
-      libssl1.0.0 \
-      libssl-dev \
-      libwebsockets7 \
-      libwebsockets-dev \
-      pkg-config \
-      vim-common \
-    && git clone --depth=1 https://github.com/tsl0922/ttyd.git /tmp/ttyd \
-    && cd /tmp/ttyd && mkdir build && cd build \
-    && cmake -DCMAKE_BUILD_TYPE=RELEASE .. \
-    && make \
-    && make install \
-    && apt-get remove -y --purge \
-        cmake \
-        g++ \
-        libwebsockets-dev \
-        libjson-c-dev \
-        libssl-dev \
-        pkg-config \
-    && apt-get purge -y \
-    && apt-get autoremove -y \
-    && rm -rf /var/lib/apt/lists/* \
-    && rm -rf /tmp/ttyd
+FROM ubuntu:18.04
+COPY --from=0 /tmp/ttyd/build/ttyd /usr/local/bin/ttyd
 
 ENV TINI_VERSION v0.18.0
 ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
@@ -40,4 +12,4 @@ RUN chmod +x /tini
 EXPOSE 7681
 
 ENTRYPOINT ["/tini", "--"]
-CMD ["ttyd", "bash"]
+CMD ["ttyd", "sh"]
index f5964d888a3ae47e61f814065668c1edf855bc83..168b0cdad1d0b17be1a1cca5512ab9cf8ce6ca6a 100644 (file)
@@ -1,13 +1,12 @@
-FROM alpine:3.9
-LABEL maintainer "Shuanglei Tao - tsl0922@gmail.com" \
-    maintainer "Damien Duportal - damien.duportal@gmail.com"
+FROM tsl0922/musl-cross
+RUN git clone --depth=1 https://github.com/tsl0922/ttyd.git /tmp/ttyd \
+    && cd /tmp/ttyd && ./scripts/cross-build.sh x86_64
 
-RUN apk add --no-cache \
-    bash \
-    tini \
-    ttyd
+FROM alpine:3.9
+COPY --from=0 /tmp/ttyd/build/ttyd /usr/local/bin/ttyd
+RUN apk add --no-cache tini
 
 EXPOSE 7681
 
 ENTRYPOINT ["/sbin/tini", "--"]
-CMD ["ttyd", "bash"]
+CMD ["ttyd", "sh"]