更新我的 Docker 后,我正在努力構建我的專案。
我以前的作業 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/*
使用平臺:platform: linux/x86_64在我的Docker-Compose.
但是,它現在在更新 Docker 后不起作用,我不知道為什么。
回傳現在的回應:
此操作后,將使用 116 MB 的額外磁盤空間。獲取:1 https://deb.nodesource.com/node_15.x focus/main arm64 nodejs arm64 15.14.0-deb-1nodesource1 [24.8 MB] debconf:延遲包配置,因為沒有安裝apt-utils 獲取24.8 MB 2s (12.5 MB/s) 選擇以前未選擇的包 nodejs。(正在讀取資料庫...當前安裝的 21576 個檔案和目錄。)準備解包 .../nodejs_15.14.0-deb-1nodesource1_arm64.deb ... 解包 nodejs (15.14.0-deb-1nodesource1) ...設定 nodejs (15.14.0-deb-1nodesource1) ... 處理 man-db (2.9.1-1) 的觸發器 ... 警告:不應決議 apt-key 輸出(stdout 不是終端) gpg:沒有有效的 OpenPGP資料發現。分段錯誤 1
發生錯誤:* 狀態:命令'/bin/sh -c 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
focus 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 紗線 &&
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*' 回傳非零代碼:2,代碼:2
嘗試的步驟(如果有一些不兼容,請指定 Ubuntu 版本):
FROM --platform=linux/arm64/v8 ubuntu:18.04
錯誤 1:無法定位包 python2
FROM --platform=linux/arm64/v8 ubuntu:21.04
錯誤 1:以下包有未滿足的依賴項: libxml2 : Depends: libicu66 (>= 66.1-1~) but it is not installable php7.4-intl : Depends: libicu66 (>= 66.1-1~) but it is not installable
錯誤 2:無法糾正問題,您持有破損的包裹。發生 1 個錯誤:狀態:命令 '/bin/sh -c [....] 回傳非零代碼:100,代碼:100
FROM --platform=linux/arm64/v8 ubuntu:22.04
錯誤 1:以下包有未滿足的依賴項: libxml2 : Depends: libicu66 (>= 66.1-1~) but it is not installable php7.4-intl : Depends: libicu66 (>= 66.1-1~) but it is not installable
錯誤 2:無法糾正問題,您持有破損的包裹。發生 1 個錯誤:狀態:命令 '/bin/sh -c [....] 回傳非零代碼:100,代碼:100
Docker-撰寫:
我已經指定了我的平臺,platform: linux/amd64而不是platform: linux/x86_64按照檔案。嘗試使用,linux/arm64但也不起作用(產生相同的錯誤)。
uj5u.com熱心網友回復:
修正了它,我昨天晚上是個白癡。
解決方案 A:(就我而言):降級回 Docker 桌面版本 4.0.0。我使用的是 Intel Images,所以這就是為什么我必須指定x86_64.
一個更好的解決方案是將我所有的影像更改為基于 Arm64 和 Intel 并且它與 Ubuntu Mysql 兼容(目前 docker 建議現在使用 MariaDB)
但是 - 看到 Docker 仍然相對不穩定并且可以隨時停止您的構建程序,我建議任何人謹慎更新 M1 的 Docker!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/362825.html
標籤:码头工人 乌本图 docker-compose 文件 苹果-m1
下一篇:nohup命令在一段時間后停止
