苹果硅 M1 + docker

Apple Silicon M1 + docker

我有一个 docker 文件和 docker-compose,它在基于 Intel and/or AMD 的芯片上运行良好,但是当它预计在 M1 Apple 上构建时会出现一些问题硅片.

它遵循错误:

#6 12.11 Reading state information... #6 12.16 E: Unable to locate package msodbcsql17 #6 12.16 E: Unable to locate package mssql-toolsexecutor failed running [/bin/sh -c apt-get update && apt-get install -y --no-install-recommends apt-transport-https ca-certificates gnupg && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && apt-get update && ACCEPT_EULA=Y apt-get install -y --no-install-recommends msodbcsql17 mssql-tools unixodbc-dev && echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile && echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc && apt-get -y autoremove && rm -rf /var/lib/apt/lists/*]: exit code: 100 ERROR: Service 'laravel-app' failed to build : Build failed

我该怎样做才能运行它正常?

@AlwaysLearning 提供了一个很好的 link 帮助我解决了这个问题。

刚刚添加了以下行:

echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections

在那之后,我遇到了一些问题,导致我通过在网络上搜索找到了另一种解决方案。 在“为 PHP 安装 sql”步骤中,我也添加了以下行(由于 M1 也是基于 Unix 的,因此需要使用它):

apt-get install unixodbc-dev

我发现在 MAC M1(苹果硅)

上使用 docker 桌面安装 Oracle 数据库时出现问题
# I run docker run --name oracle -p 1521:1521 -d oracle:18.4.0-xe-init
# please see error log ????

ORACLE PASSWORD FOR SYS AND SYSTEM: Passw0rd
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (safepoint.cpp:310), pid=193, tid=0x000000404e163700
#  guarantee(PageArmed == 0) failed: invariant
#
# JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build 1.8.0_171-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.171-b11 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid193.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
qemu: uncaught target signal 6 (Aborted) - core dumped
bash: line 1:   191 Done                    ( echo 'Passw0rd'; echo 'Passw0rd'; echo 'Passw0rd' )
       193 Aborted                 | /opt/oracle/product/18c/dbhomeXE/bin/dbca -silent -createDatabase -gdbName XE -templateName XE_Database.dbc -characterSet AL32UTF8 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName XEPDB1 -sid XE -emConfiguration DBEXPRESS -emExpressPort 5500 -J-Doracle.assistants.dbca.validate.DBCredentials=false -sampleSchema true -customScripts /opt/oracle/product/18c/dbhomeXE/assistants/dbca/postdb_creation.sql

Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'.
mv: cannot stat '/opt/oracle/product/18c/dbhomeXE/dbs/spfileXE.ora': No such file or directory
mv: cannot stat '/opt/oracle/product/18c/dbhomeXE/dbs/orapwXE': No such file or directory

Executing user defined scripts
/opt/oracle/runOracle.sh: running /opt/oracle/scripts/setup/init.sql

SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 18 15:15:51 2022
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ERROR:
ORA-12547: TNS:lost contact


Enter user-name: Enter password: 
ERROR:
ORA-12547: TNS:lost contact


Enter user-name: 

DONE: Executing user defined scripts

ORACLE_HOME = [/home/oracle] ? ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID .
You can set ORACLE_BASE manually if it is required.
Resetting ORACLE_BASE to its previous value or ORACLE_HOME
The Oracle base remains unchanged with value /opt/oracle
bash: sqlplus: command not found
#####################################
########### E R R O R ###############
DATABASE SETUP WAS NOT SUCCESSFUL!
Please check output for further info!
########### E R R O R ###############
#####################################
The following output is now a tail of the alert.log:
tail: cannot open '/opt/oracle/diag/rdbms/*/*/trace/alert*.log' for reading: No such file or directory
tail: no files remaining