Docker M1 - Pomocí Ubuntu + MySQL: /bin/sh chyby na nejnovější aktualizace Docker Desktop 4.2.0

0

Otázka

Snažím se stavět můj projekt po aktualizaci moje Docker.

Mé předchozí pracovní DockerFile:

FROM ubuntu:20.04


ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update \
    && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
    && mkdir -p ~/.gnupg \
    && chmod 600 ~/.gnupg \
    && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf \
    && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E5267A6C \
    && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C300EE8C \
    && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu focal main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \
    && apt-get update \
    && apt-get install -y php7.4-cli php7.4-dev \
       php7.4-pgsql php7.4-sqlite3 php7.4-gd \
       php7.4-curl php7.4-memcached \
       php7.4-imap php7.4-mysql php7.4-mbstring \
       php7.4-xml php7.4-zip php7.4-bcmath php7.4-soap \
       php7.4-intl php7.4-readline php7.4-pcov \
       php7.4-msgpack php7.4-igbinary php7.4-ldap \
       php7.4-redis \
    && php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
    && curl -sL https://deb.nodesource.com/setup_15.x | bash - \
    && apt-get install -y nodejs \
    && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
    && apt-get update \
    && apt-get install -y yarn \
    && apt-get install -y mysql-client \
    && apt-get install -y postgresql-client \
    && apt-get -y autoremove \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

S Platformou: platform: linux/x86_64 v mém Docker-Compose.

Nicméně, to teď nefunguje po aktualizaci Docker a já jsem bezradný, proč.

Vrátí odpověď hned:

Po této operaci, 116 MB dalšího místa na disku bude použito. Získat:1 https://deb.nodesource.com/node_15.x ohnisková/hlavní arm64 nodejs arm64 15.14.0-deb-1nodesource1 [24.8 MB] debconf: odložení balíčku konfigurace, protože apt-utils není nainstalován přitažené za vlasy 24.8 MB v 2s (12.5 MB/s) Výběr dříve nevybrané balíček nodejs. (Čtení databáze ... 21576 soubory a adresáře v současné době nainstalován.) Příprava pro rozbalení .../nodejs_15.14.0-deb-1nodesource1_arm64.deb ... Rozbalení nodejs (15.14.0-deb-1nodesource1) ... Nastavení nodejs (15.14.0-deb-1nodesource1) ... Zpracování aktivačních událostí pro man-db (2.9.1-1) ... Upozornění: apt-key výstup by neměl být analyzován (stdout je není terminálu) gpg: žádný platný OpenPGP údaje nalézt. Segmentation fault 1

došlo k chybě: * Stav: příkaz '/bin/sh-c apt-get update && apt-get install -y gnupg gosu curl ca-certifikáty zip unzip git vedoucí sqlite3 libcap2-bin libpng-dev python2 && mkdir -p ~/.gnupg && chmod 600 ~/.gnupg && echo "zakázat-ipv6" >> ~/.gnupg/dirmngr.conf && apt-key adv --domovského adresáře ~/.gnupg serveru klíčů --hkp://serveru klíčů.ubuntu.com:80 --recv-keys E5267A6C && apt-key adv --domovského adresáře ~/.gnupg serveru klíčů -- hkp://serveru klíčů.ubuntu.com:80 --recv-keys C300EE8C && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu kontaktní main" > /etc/apt/sources.seznam.d/ppa_ondrej_php.seznam && apt-get update
&& apt-get install -y php7.4-cli php7.4-dev php7.4-pgsql php7.4-sqlite3 php7.4-gd php7.4-curl php7.4-memcached
php7.4-imap php7.4-mysql php7.4-mbstring php7.4-xml php7.4-zip php7.4-bcmath php7.4-mýdlo php7.4-intl php7.4-readline php7.4-pcov php7.4-msgpack php7.4-igbinary php7.4-ldap
php7.4-redis && php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=skladatel && curl-sL https://deb.nodesource.com/setup_15.x | bash - && apt-get install -y nodejs && curl-sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && echo "deb https://dl.yarnpkg.com/debian/stabilní hlavním" > /etc/apt/sources.seznam.d/příze.seznam && apt-get update && apt-get install -y příze && apt-get install -y mysql-client && apt-get install -y postgresql-client && apt-get -y autoremove
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*' vrátil non-zero kód: 2, Kód: 2

Kroky se snažil (s Uvedením Ubuntu verze v případě, že je některé nekompatibility):

FROM --platform=linux/arm64/v8 ubuntu:18.04

Chyba 1: Nelze najít balík python2

FROM --platform=linux/arm64/v8 ubuntu:21.04

Chyba 1: následující balíky mají nesplněné závislosti: libxml2 : Závisí: libicu66 (>= 66.1-1~) ale ten nelze nainstalovat php7.4-intl : Závisí na: libicu66 (>= 66.1-1~) ale ten nelze nainstalovat

Chyba 2: Nelze opravit problémy, máte se konala rozbité balíčky. 1 došlo k chybě: Stav: příkaz '/bin/sh-c [....] vrátil non-zero kód: 100, Kód: 100

FROM --platform=linux/arm64/v8 ubuntu:22.04

Chyba 1: následující balíky mají nesplněné závislosti: libxml2 : Závisí: libicu66 (>= 66.1-1~) ale ten nelze nainstalovat php7.4-intl : Závisí na: libicu66 (>= 66.1-1~) ale ten nelze nainstalovat

Chyba 2: Nelze opravit problémy, máte se konala rozbité balíčky. 1 došlo k chybě: Stav: příkaz '/bin/sh-c [....] vrátil non-zero kód: 100, Kód: 100

Docker-Compose:

Mám uvedeno moje platforma nyní platform: linux/amd64spíše než platform: linux/x86_64 jako za k docs. Pokusil pomocí linux/arm64 ale to taky nefungovalo (Stejné chyby produkoval).

1

Nejlepší odpověď

0

Opravil to, byl jsem idiot, včera v noci.

Řešení: (V mém případě): Downgrade zpět na Docker Desktop verze 4.0.0. Byl jsem pomocí Intel Obrázky tak, že je důvod, proč jsem musel zadat x86_64.

Mnohem lepší řešení by změnit všechny mé obrázky Arm64 a Intel na bázi, stejně jako to, že je kompatibilní s Ubuntu + Mysql (v současné době docker doporučuje používat MariaDB pro teď)

Nicméně - když viděl, že Docker je stále poměrně nestabilní a může zastavit proces sestavení v každém okamžiku, radím každému, aby aktualizovat Docker pro M1 s opatrností!

2021-11-21 12:58:22

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................