首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker -使用Docker Apple M1撰写问题

Docker -使用Docker Apple M1撰写问题
EN

Stack Overflow用户
提问于 2021-03-08 21:44:10
回答 3查看 1.2K关注 0票数 4

我真的不熟悉docker,但我正在使用docker运行一个web应用程序,它使用prisma/Nexus.

当我尝试编写的时候,我得到了这个错误:

代码语言:javascript
复制
 Error: Unknown binaryTarget linux-arm-openssl-undefined and no custom binaries were provided

谁能告诉我这个错误是什么意思,我该如何解决它?我认为这与docker不支持我正在使用的操作系统有关,但我不能完全确定。

EN

回答 3

Stack Overflow用户

发布于 2021-03-31 15:21:31

来自the official docs

Prisma客户端由三个主要组件组成。

  • JavaScript client library
  • TypeScript类型定义
  • A查询引擎(采用binary file)

的形式

虽然生成的代码是跨平台的(这是javascript),但query engine并非如此。

当您运行prisma generate命令时,prisma似乎使用query engine,但它需要为当前平台otherwise it throws an error找到正确的二进制文件。

问题是由于某种原因,我无法解释(因为我也有同样的问题),docker中的平台不能被识别为supported platform one

我的猜测是要么docker提供了错误的平台,要么在某个时候prisma中存在错误,错误消息linux-arm-openssl-undefined with undefined可能是问题的线索。

解决方案:现在:我计划在一台x86计算机上运行我的镜像这个问题得到解决的时间。最新的docker 3 RC2 (5天前发布)也无济于事。

请注意,您可以在schema.prisma文件中指定binaryTargets。

代码语言:javascript
复制
generator client {
  provider = "prisma-client-js"
  binaryTargets = ["debian-openssl-1.1.x"]
}

但由于某些原因,即使我在debian上构建我的docker镜像,这也不起作用。Prisma似乎识别出我在使用linux-arm,但无法将binaryTarget与其关联。也就是…这个平台真的准确吗?docker是在引擎盖下运行linux arm,还是在rosetta下运行x86 debian?我不知道。

编辑节点图像是多拱形的,这意味着

代码语言:javascript
复制
FROM node:15.12.0-buster-slim AS builder

我将为我的主机平台( linux /arm64/v8)选择linux架构似乎我们实际上可以build for x86 on m1 using buildx experimental feature according to this post

票数 5
EN

Stack Overflow用户

发布于 2021-09-20 19:12:53

未定义意味着容器中没有安装openssl。您可以通过安装openssl来获得正确的二进制目标名称。将此文件添加到Dockerfile:

代码语言:javascript
复制
FROM node:16-slim
RUN apt-get update
RUN apt-get install -y openssl

从这里回答https://github.com/prisma/prisma/issues/861#issuecomment-881992292

票数 1
EN

Stack Overflow用户

发布于 2021-11-22 18:37:35

我在使用node:alpine时也遇到了同样的问题。首先,我尝试使用apk add openssl手动安装openssl,但仍然存在一些其他问题。

通过切换到node:lts并添加到Dockerfile RUN apt-get -qy update && apt-get -qy install openssl,我设法解决了这个问题

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

https://stackoverflow.com/questions/66530969

复制
相关文章

相似问题

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