-
Notifications
You must be signed in to change notification settings - Fork 239
Expand file tree
/
Copy pathDockerfile
More file actions
77 lines (59 loc) · 2.26 KB
/
Copy pathDockerfile
File metadata and controls
77 lines (59 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
FROM jumpserver/koko-base:20260904_103448 AS stage-build
WORKDIR /opt/koko
ARG TARGETARCH
COPY . .
ARG VERSION
ENV VERSION=$VERSION
WORKDIR /opt/koko
RUN make build -s \
&& set -x && ls -al . \
&& mv /opt/koko/build/koko /opt/koko/koko
RUN mkdir /opt/koko/release \
&& mv /opt/koko/locale /opt/koko/release \
&& mv /opt/koko/config_example.yml /opt/koko/release \
&& mv /opt/koko/entrypoint.sh /opt/koko/release \
&& mv /opt/koko/utils/init-kubectl.sh /opt/koko/release \
&& chmod 755 /opt/koko/release/entrypoint.sh /opt/koko/release/init-kubectl.sh
FROM jumpserver/guacd:1.5.5-trixie
ARG TARGETARCH
ENV LANG=en_US.UTF-8
LABEL org.opencontainers.image.source=https://github.com/jumpserver/koko
LABEL org.opencontainers.image.description="JumpServer Koko"
USER root
ARG DEPENDENCIES=" \
bash-completion \
less \
openssl \
redis-tools \
xz-utils \
ca-certificates"
ARG APT_MIRROR=http://deb.debian.org
RUN set -ex \
&& sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list.d/debian.sources \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apt-get update \
&& apt-get install -y --no-install-recommends ${DEPENDENCIES} \
&& apt-get clean all \
&& rm -rf /var/lib/apt/lists/*
RUN --mount=from=stage-build,source=/opt/s6-overlay,target=/tmp/s6-overlay \
set -ex \
&& tar -C / -Jxpf /tmp/s6-overlay/s6-overlay-noarch.tar.xz \
&& tar -C / -Jxpf /tmp/s6-overlay/s6-overlay-arch.tar.xz
WORKDIR /opt/koko
COPY --from=stage-build /opt/koko/.kubectl_aliases /opt/kubectl-aliases/.kubectl_aliases
COPY --from=stage-build /opt/koko/bin /usr/local/bin
COPY --from=stage-build /opt/koko/lib /usr/local/lib
COPY --from=stage-build /opt/koko/release .
COPY --from=stage-build /opt/koko/koko .
COPY s6-overlay/cont-init.d/ /etc/cont-init.d/
COPY s6-overlay/services.d/ /etc/services.d/
RUN chmod +x /etc/cont-init.d/10-koko-init \
/etc/services.d/koko/run \
/etc/services.d/guacd/run \
/etc/services.d/guacd/log/run
ARG VERSION
ENV VERSION=${VERSION}
VOLUME /opt/koko/data
ENTRYPOINT ["/init"]
EXPOSE 2222 5000 5001
STOPSIGNAL SIGQUIT