首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Docker M1 -在最新更新的Desktop 4.2.0上使用Ubuntu + MySQL: /bin/sh错误

Docker M1 -在最新更新的Desktop 4.2.0上使用Ubuntu + MySQL: /bin/sh错误
EN

Stack Overflow用户
提问于 2021-11-19 22:57:03
回答 1查看 320关注 0票数 0

在更新我的码头后,我很难建立我的项目。

我以前工作的DockerFile:

代码语言:javascript
复制
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的额外磁盘空间。Get:1 https://deb.nodesource.com/node_15.x焦/主arm64 nodejs arm64 15.14.0-Deb-1 nodesource1 24.8MB debconf:延迟包配置,因为apt-utils在2s (12.5MB/s)中没有安装24.8 MB,选择以前未选择的package。(读取数据库.当前安装的21576个文件和目录。)准备拆包./nodejs_15.14.0-deb-1 nodesource1_arm64.deb.开封节deb(15.14.0-Deb-1 nodesource1)建立nodejs (15.14.0-Deb-1 nodesource1)处理man的触发器(2.9.1-1) .警告:不应该解析apt键输出(stdout不是终端) gpg:没有找到有效的OpenPGP数据。发生分段错误1错误:*状态:命令'/bin/sh -c apt-get update & apt-get -y gnupg u curl ca--y解压缩git主管sqlite3 libcap2-bin libpng-dev python2 & mkdir -p ~/.gnupg && chmod 600 ~/.gnupg & echo - >> ~/.gnupg /dimmnngr.conf& apt-key adv -homedir~/.gnupg-keyserver p://keyserver.untu.com:80-recv E5267A6C && apt-key adv -homedir~/..gnupg keyserver hkp://keyserver.ubuntu.com:80 -recv- C300EE8C & echo >/etc/apt/Sourcees.list.d/ppa_ondrej_php.list&apt-获取更新

&& apt-获取安装-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

php7.4-redis && php -r "readfile('http://getcomposer.org/installer');-client && apt-获取安装-y postgresql-client && apt-获取-y自动删除

&& apt&get& -rf /var/lib/apt/list/* /tmp/* /var/tmp/*‘返回一个非零代码: 2,代码:2

尝试了一些步骤(指定Ubuntu版本以防止出现某些不兼容):

代码语言:javascript
复制
FROM --platform=linux/arm64/v8 ubuntu:18.04

错误1:无法定位包python2

代码语言:javascript
复制
FROM --platform=linux/arm64/v8 ubuntu:21.04

错误1:下列软件包有未满足的依赖关系: libxml2 :intl: libicu66 (>= 66.1-1~),但它不是可安装的php7.4-intl : libicu66 (>= 66.1-1~),但不能安装

错误2:无法纠正问题,您已保存了损坏的包。发生1错误:状态:命令'/bin/sh -c .返回一个非零代码: 100,代码: 100

代码语言:javascript
复制
FROM --platform=linux/arm64/v8 ubuntu:22.04

错误1:下列软件包有未满足的依赖关系: libxml2 :intl: libicu66 (>= 66.1-1~),但它不是可安装的php7.4-intl : libicu66 (>= 66.1-1~),但不能安装

错误2:无法纠正问题,您已保存了损坏的包。发生1错误:状态:命令'/bin/sh -c .返回一个非零代码: 100,代码: 100

码头工人-组成:

我已经将我的平台指定为platform: linux/amd64,而不是文档中的platform: linux/x86_64。尝试使用linux/arm64,但这也不起作用(所产生的错误相同)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-20 13:47:51

修好了,我昨天晚上是个白痴。

解决方案A:(在我的例子中):降级回Desktop版本4.0.0。我使用的是英特尔图片,所以我必须指定x86_64

一个更好的解决方案是改变我所有的映像是基于Arm64和英特尔的,以及它与Ubuntu + Mysql兼容(目前,docker建议使用MariaDB )。

然而-考虑到Docker仍然相对不稳定,并且可以在任何时候停止您的构建过程,我建议任何人更新Docker为M1小心!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70041787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档