Lorsque vous utilisez Docker à des fins informatiques, vous souhaiterez utiliser la singularité. Cependant, la singularité ne peut pas être construite sans les privilèges sudo, j'ai donc demandé à podman dans docker de fonctionner au lieu de la machine virtuelle de tout le monde.
C'est comme le docker de Redhat, et je pense qu'il est caractérisé par le manque de démons.
Lorsque vous l'utilisez, assurez-vous de vous connecter à chaque machine virtuelle avec ssh. Rendez la VM jetable et déplacez les fichiers avec scp, etc.
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
Vous pouvez l'utiliser en créant une image sur le conteneur, en créant un fichier .sif avec une construction de singularité et en le déplaçant vers votre domicile avec scp.