Wenn Sie Docker für Computerzwecke verwenden, sollten Sie die Singularität verwenden. Da Singularität jedoch nicht ohne Sudo-Berechtigungen erstellt werden kann, habe ich Podman im Docker gebeten, statt der funktionierenden VM aller zu arbeiten.
Es ist wie Redhats Docker, und ich denke, es ist durch den Mangel an Dämonen gekennzeichnet.
Stellen Sie bei der Verwendung sicher, dass Sie sich mit ssh bei jeder VM anmelden. Machen Sie die VM verfügbar und verschieben Sie Dateien mit scp usw.
FROM docker.io/library/docker:dind
RUN apk --update add \
bash \
py-pip \
supervisor \
openssh \
curl \
build-base \
libffi-dev \
&& \
rm -rf /var/cache/apk/*
RUN apk add python3-dev
RUN apk add --no-cache libressl-dev musl-dev libffi-dev
RUN pip install docker-compose
RUN mkdir -p /var/log/supervisor
RUN apk add --no-cache openssh openrc
RUN rc-update add sshd && rc-status
RUN mkdir -p /run/openrc/ && touch /run/openrc/softlevel
RUN ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
RUN ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk add singularity
RUN sed -i '2s/^/bash -c "\/usr\/sbin\/sshd -D"\&\n/' /usr/local/bin/dockerd-entrypoint.sh
RUN apk add sudo
RUN echo -e "<password here>\n<password here>" | (adduser user -s /bin/bash)
RUN addgroup docker
RUN addgroup user docker
RUN addgroup user wheel
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
#!/bin/bash
count=7000
for i in 0 1 2 3 4 5 6 7 8 9;
do
echo $i
sudo podman run -d --privileged -p 777$i:22 dind-docker
done
Sie können es verwenden, indem Sie ein Bild auf dem Container erstellen, eine .sif-Datei mit Singularity-Build erstellen und sie mit scp zu Ihnen nach Hause verschieben.