-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
75 lines (61 loc) · 1.64 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
64
65
66
67
68
69
70
71
72
73
74
75
ARG TARGETARCH
ARG OS=linux
FROM --platform=$OS/$TARGETARCH ubuntu:noble-20241118.1 AS base
ARG TARGETARCH
ARG OS
ENV TARGETARCH=$TARGETARCH
ENV OS=$OS
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
net-tools \
iputils-ping \
ca-certificates \
wget \
unzip \
zip \
libgl1 \
libpng16-16 \
libqt6core6 \
libqt6gui6 \
libqt6network6 \
libqt6widgets6 \
libxml2 \
libvirt0 \
dnsmasq-base \
dnsmasq-utils \
qemu-system \
qemu-utils \
libslang2 \
iproute2 \
iptables \
iputils-ping \
libatm1 \
libxtables12 \
xterm \
expect \
nano \
ovmf \
libreadline-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY multipass.tar /app
COPY *.sh /app
RUN tar xvf multipass.tar && rm multipass.tar \
&& chmod +x /app/*.sh /app/multipass/multipassd /app/multipass/multipass \
&& ln -s /app/multipass/multipass /usr/local/bin/multipass \
&& ln -s /app/data/agent/apps/qiniu-unix/install-qiniu.sh /app
ENV MULTIPASS_PASSPHRASE=default^^p@ssw0rd
ENV WORKSPACE=/app/data/agent
ENV AGENT_PATH=/app/agent
ENV MULTIPASS_PATH=/app/multipass
ENV SERVER_URL=https://test4-api.titannet.io
ENV DATA_DIR=/app/data
ENV MULTIPASS_SOCKET_PATH=/run/multipass_socket
ENV LOG_FILE=$WORKSPACE/agent.log
ENV MULTIPASS_STORAGE=$DATA_DIR/multipass
ENV MULTIPASS_SERVER_ADDRESS=unix:$MULTIPASS_SOCKET_PATH
ENV MULTIPASS_LOG_FILE=$DATA_DIR/multipass/multipass.log
HEALTHCHECK --interval=30s --timeout=30s --start-period=90s --retries=10 \
CMD /app/install-qiniu.sh info | grep "BOX_ID:" || exit 1
ENTRYPOINT [ "./run.sh" ]