-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpodman.Dockerfile
More file actions
69 lines (60 loc) · 2.1 KB
/
Copy pathpodman.Dockerfile
File metadata and controls
69 lines (60 loc) · 2.1 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
FROM alpine:3.21
ENV DOCKER_DATA_DIR=/var/lib/docker
RUN apk add --no-cache \
bash \
supervisor \
openssh \
dcron \
iptables-legacy \
fuse-overlayfs \
fuse3 \
sudo \
podman \
podman-docker \
slirp4netns \
shadow-subids
RUN set -eux; \
group_name=$(getent group 1000 | cut -d: -f1 || true); \
if [ -z "$group_name" ]; then \
addgroup -g 1000 miget; \
group_name=miget; \
fi; \
if ! id -u miget >/dev/null 2>&1; then \
adduser -D -u 1000 -G "$group_name" -s /bin/bash miget; \
passwd -u miget; \
fi; \
addgroup miget docker 2>/dev/null || true; \
addgroup miget podman 2>/dev/null || true; \
addgroup miget wheel 2>/dev/null || true; \
echo '%wheel ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/wheel; \
chmod 0440 /etc/sudoers.d/wheel; \
mkdir -p /home/miget/.ssh; \
chown -R miget:"$group_name" /home/miget; \
chmod 700 /home/miget/.ssh
RUN mkdir -p /var/log/supervisor /var/run/supervisor
RUN LEGACY_IP=$(command -v iptables-legacy) && \
LEGACY_IP6=$(command -v ip6tables-legacy) && \
ln -sf "$LEGACY_IP" /sbin/iptables && \
ln -sf "$LEGACY_IP" /usr/sbin/iptables && \
ln -sf "$LEGACY_IP6" /sbin/ip6tables && \
ln -sf "$LEGACY_IP6" /usr/sbin/ip6tables
RUN set -eux; \
ARCH=$(uname -m); \
case "$ARCH" in \
x86_64) COMPOSE_ARCH=x86_64 ;; \
aarch64) COMPOSE_ARCH=aarch64 ;; \
armv7l) COMPOSE_ARCH=armv7 ;; \
*) echo "Unsupported architecture: $ARCH" && exit 1 ;; \
esac; \
wget -qO /usr/local/bin/docker-compose \
"https://github.com/docker/compose/releases/download/v5.3.1/docker-compose-linux-${COMPOSE_ARCH}"; \
chmod +x /usr/local/bin/docker-compose; \
docker-compose version
RUN mkdir -p /etc/supervisor/conf.d
COPY config/supervisord.conf /etc/supervisord.conf
COPY config/sshd.conf /etc/supervisor/conf.d/sshd.conf
COPY config/crond.conf /etc/supervisor/conf.d/crond.conf
COPY config/podman.conf /etc/supervisor/conf.d/podman.conf
COPY scripts/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh"]