Fehler in Docker

T

tx_g

Gast
Hallo,
ich bin gerade dabei mir einen Docker etwas umzubauen. Leider bekomme ich beim erstellen diesen Fehler:
https://hub.docker.com/r/horstexplorer/sinusbot/builds/btasesdgzxffpboq4iqecbh/
Code:
Build failed: The command '/bin/sh -c groupadd -g "$SINUS_GROUP" sinusbot && useradd -u "$SINUS_USER" -g "$SINUS_GROUP" -d "$SINUS_DIR" sinusbot && apt-get -q update -y && apt-get -q upgrade -y && apt-get -q install -y x11vnc xvfb libxcursor1 ca-certificates bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libglib2.0-0 libnss3 locales wget sudo python less && locale-gen --purge "$LANG" && update-locale LANG="$LANG" && echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale && echo "LANG=en_US.UTF-8" >> /etc/default/locale && update-ca-certificates && mkdir -p "$SINUS_DIR" && wget -qO- "$SINUSBOT_DL_URL" | tar -xjf- -C "$SINUS_DIR" && mv "$SINUS_DATA_SCRIPTS" "$SINUS_DATA_SCRIPTS-orig" && cp -f "$SINUS_DIR/config.ini.dist" "$SINUS_DIR/config.ini" && sed -i 's|^DataDir.*|DataDir = '"$SINUS_DATA"'|g' "$SINUS_DIR/config.ini" && mkdir -p "$TS3_DIR" && cd "$SINUS_DIR" || exit 1 && wget -q -O "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" "$TS3_DL_ADDRESS/$TS3_VERSION/TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" && chmod 755 "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" && yes | "./TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" && rm -f "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" && rm TeamSpeak3-Client-linux_amd64/xcbglintegrations/libqxcb-glx-integration.so && mkdir TeamSpeak3-Client-linux_amd64/plugins && cp -f "$SINUS_DIR/plugin/libsoundbot_plugin.so" "$TS3_DIR/plugins/" && sed -i "s|^TS3Path.*|TS3Path = \"$TS3_DIR/ts3client_linux_amd64\"|g" "$SINUS_DIR/config.ini" && wget -q -O "$YTDL_BIN" "https://yt-dl.org/downloads/$YTDL_VERSION/youtube-dl" && chmod 755 -f "$YTDL_BIN" && echo "YoutubeDLPath = \"$YTDL_BIN\"" >> "$SINUS_DIR/config.ini" && chown -fR sinusbot:sinusbot "$SINUS_DIR" && apt-get -q clean all && rm -rf /tmp/* /var/tmp/*' returned a non-zero code: 1
und im Log
Code:
Generating locales (this might take a while)...
Generation complete.

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = "en_US.UTF-8 ",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

*** update-locale: Error: invalid locale settings:  LANG=en_US.UTF-8

Removing intermediate container c3ba138b0576

The command '/bin/sh -c groupadd -g "$SINUS_GROUP" sinusbot &&     useradd -u "$SINUS_USER" -g "$SINUS_GROUP" -d "$SINUS_........
Leider bin ich nicht so weit in dem Thema drinnen, damit ich weiß wieso es nicht funktioniert. Es wäre sehr nett wenn mir dabei jemand helfen würde das Problem zu lösen.
 
Zuletzt bearbeitet von einem Moderator:
Der Link geht nicht, der erste Code-Block entbehrt jedweder Leserlichkeit und es hapert an der Einstellung der Spracheinstellungen.
Bei solch vielen Commands für den Build könnte man einfach mal mit nix anfangen und Befehle nach und nach hinzufügen und sieht dann sofort, bei welchem es hapert oder man packt sich mehrere Ausgaben, z.B. mit echo dazwischen mit je eindeutigen Textzeilen um den Fehler einzugrenzen.
 
Vielen Dank für die Antwort

Ja durch den Code kann man tatsächlich nicht gut durch sehen, habe ich bereits bearbeitet nur noch nicht hier erneuert
Es scheint tatsächlich an der Stelle mit den locales gelegen zu haben.
Code:
locale-gen --purge "$LANG" && update-locale LANG="$LANG" && echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale && echo "LANG=en_US.UTF-8" >> /etc/default/locale
Das scheint unter Ubuntu so zu funktionieren aber unter Debian scheint
Code:
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8
die richtige Wahl zu sein.

Somit bekomme ich jetzt den Docker zusammen gebaut. Allerdings gibt es noch ein Problem. Während dem Build wird ein Benutzer erstellt. Nutze ich nun in dem entry Point
Code:
exec sudo -u User -g User "command" //oder so ähnlich
bekomme ich den Fehler unable to resolve host *User*.
Ich vermute daß liegt daran, dass der neu angelegte User nicht die nötigen Berechtigungen für Audi besitzt. Allerdings bekomme ich beim hinzufügen über usermod den Fehlercode 127. Ich kucke heute Nachmittag nochmal nach was da falsch läuft.
 
Zurück
Oben