-
Notifications
You must be signed in to change notification settings - Fork 4
/
Dockerfile
63 lines (50 loc) · 1.93 KB
/
Dockerfile
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
# Copyright The KubeDB Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:12 as builder
ARG TARGETOS
ARG TARGETARCH
ARG PEER_FINDER_VERSION=v1.0.2
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
RUN set -x \
&& apt-get update \
&& apt-get install -y --no-install-recommends apt-transport-https ca-certificates curl unzip
RUN set -x \
&& curl -fsSL -o peer-finder.tar.gz https://github.com/kmodules/peer-finder/releases/download/${PEER_FINDER_VERSION}/peer-finder-${TARGETOS}-${TARGETARCH}.tar.gz \
&& tar -xzvf peer-finder.tar.gz \
&& mv peer-finder-${TARGETOS}-${TARGETARCH} peer-finder \
&& chmod 755 peer-finder
FROM alpine:latest
RUN apk add --no-cache openssl gettext
COPY install.sh /scripts/install.sh
COPY replicaset.sh /scripts/replicaset.sh
COPY arbiter.sh /scripts/arbiter.sh
COPY hidden.sh /scripts/hidden.sh
COPY configdb.sh /scripts/configdb.sh
COPY sharding.sh /scripts/sharding.sh
COPY mongos.sh /scripts/mongos.sh
COPY common.sh /scripts/common.sh
COPY --from=builder peer-finder /scripts/peer-finder
RUN chmod -c 755 /scripts/peer-finder \
/scripts/install.sh \
/scripts/arbiter.sh \
/scripts/hidden.sh \
/scripts/replicaset.sh \
/scripts/configdb.sh \
/scripts/sharding.sh \
/scripts/mongos.sh \
/scripts/common.sh
ENV SSL_MODE ""
ENV CLUSTER_AUTH_MODE ""
ENTRYPOINT ["/scripts/install.sh"]