Mit Podman im Docker möchte jeder miteinander auskommen und Docker mit einem gemeinsam genutzten Computer verwenden

Gründe für die Verwendung von Podman im Docker

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.

Was ist Podman?

Es ist wie Redhats Docker, und ich denke, es ist durch den Mangel an Dämonen gekennzeichnet.

Bild der Verwendung

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.

image.png

Ein Bild erstellen


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

Inbetriebnahme etc.

#!/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.

Recommended Posts

Mit Podman im Docker möchte jeder miteinander auskommen und Docker mit einem gemeinsam genutzten Computer verwenden
Beginnen Sie mit der Installation von Docker auf EC2 und dem Ausführen von Yellowfin in einem Container
Eine Geschichte über den Versuch, mit Mockito auszukommen
Was tun, wenn in Docker ein gcc-Fehler auftritt?
Eine Lösung für Docker-Fehler, bei denen Anfänger häufig stecken bleiben
Erstellen Sie einen C-Compiler zur Verwendung mit Rust x CLion mit Docker
Verwenden Sie Jenkins, um in Docker zu erstellen und dann ein Docker-Image zu erstellen.
Schritte zum Installieren von Maven auf einem Mac und zur Verwendung mit Eclipse
So bringen Sie JDK 11 bequem in den Mac
Wenn Sie mit PHPStorm und xdebug auf Docker stecken bleiben. Fehlerbehebung
Setzen Sie Zabbix mit Docker in Ubuntu ein und überwachen Sie Docker auf demselben Host
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
[AWS CLI] Wechseln Sie die Rollen, um ein Docker-Image in einem anderen Konto abzurufen
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Verwenden Sie MyBatis, um eine Karte mit einem Schlüssel als Kennung und einem Wert als Entität abzurufen
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
Ein Memorandum zur Verwendung von Eclipse
Schaben mit Puppenspieler in Nuxt auf Docker.
Verwendung von Docker in VSCode DevContainer
Verstehe in 5 Minuten !! Wie man Docker benutzt
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
Volume, das viele logische Operatoren in der if-Anweisung verwenden möchte
Erstellen Sie eine Entwicklungsumgebung, um Ruby on Jets + React-Apps mit Docker zu erstellen
[Einführung in Docker] Erstellen Sie ein Docker-Image für maschinelles Lernen und verwenden Sie das Jupyter-Notizbuch
So verwenden Sie Eclipse auf meinem PC mit 32 Bit und 2 GB Speicher
So erstellen Sie einen Jenkins-Server mit einem Docker-Container unter CentOS 7 von VirtualBox und greifen von einem lokalen PC auf den Jenkins-Server zu
Bereiten Sie eine Scraping-Umgebung mit Docker und Java vor
Kommen Sie mit Java-Containern in Cloud Run zurecht
Verknüpfen Sie das Docker-Protokoll mit AWS CloudWatch und überwachen Sie es in Echtzeit mit VS Code
[Rails] [Docker] Kopieren und Einfügen ist in Ordnung! So erstellen Sie eine Rails-Entwicklungsumgebung mit Docker
So erstellen Sie eine Kopf- oder Fußzeile einmal und verwenden sie auf einer anderen Seite
Erstellen Sie in CentOS8.2 einen privaten / öffentlichen Schlüssel und stellen Sie mit VS Code eine Verbindung zu SSH her
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
Ich möchte PowerMock in einer Klasse verwenden, die parametrisierte Tests und gewöhnliche Tests kombiniert
Docker-Befehl zum Erstellen eines Rails-Projekts in einem einzigen Schlag in einer Umgebung ohne Ruby