-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile
101 lines (93 loc) · 2.35 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Debugcontainer - custom image
#
# Thanks to
# - https://github.com/dbamaster/mssql-tools-alpine
# - https://github.com/ssro/dnsperf
FROM alpine:edge
# Resolve DL4006 https://github.com/hadolint/hadolint/wiki/DL4006
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
# Labels
LABEL org.opencontainers.image.authors="Thomas Deutsch <thomas@tuxpeople.org>"
COPY scripts/* /scripts/
COPY requirements.txt /requirements.txt
# hadolint ignore=DL3017,DL3018,DL3013
RUN chmod +x /scripts/* \
&& apk add --no-cache --update \
--repository=http://dl-cdn.alpinelinux.org/alpine/edge/main \
--repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
--repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
arping \
bash \
bash-completion \
bind-libs \
bind-tools \
ca-certificates \
coreutils \
curl \
dnsperf \
ethtool \
fio \
git \
hdparm \
htop \
ioping \
iozone \
iperf \
iperf3 \
iproute2 \
ipset \
iptables \
jq \
kmod \
kubectl \
less \
lsof \
mariadb-client \
mc \
minio-client \
mtr \
multitail \
net-tools \
netcat-openbsd \
nfs-utils \
ngrep \
nmap \
openssh \
openssh-client \
openssl \
p7zip \
parallel \
perl-utils \
psmisc \
py3-pip \
rsync \
screen \
socat \
speedtest-cli \
sslscan \
tcpdump \
tcptraceroute \
tmux \
tree \
vim \
wget \
which \
yq \
&& curl -s https://fluxcd.io/install.sh | bash \
&& curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=/usr/local/bin bash \
&& apk add --no-cache --virtual .build-deps musl-dev python3-dev libffi-dev openssl-dev cargo make \
&& pip install --break-system-packages --no-cache-dir --upgrade pip \
&& pip install --break-system-packages --no-cache-dir --requirement /requirements.txt \
&& apk del .build-deps \
&& rm -f /requirements.txt \
&& mkdir /workdir \
&& chmod 777 /workdir \
&& addgroup -g 1000 abc \
&& adduser -G abc -u 1000 abc -D
WORKDIR /workdir
# environment settings
ARG TZ="Europe/Zurich"
ENV PS1="\u@debugcontainer($(hostname)):\w\\$ " \
HOME="/workdir" \
TERM="xterm"
CMD ["/bin/sleep","inf"]