我正在try 将一个带有python应用程序的停靠容器部署到Azure Kubernetes服务.在部署并查看新Pod上的日志(log)后,我看到以下错误:
Exec/usr/bin/sh:EXEC格式错误
我正在使用以下docker Buildx命令在Mac上构建容器:
docker buildx build --platform linux/x86_64 -t <my username>/ingest .
我的Docker文件具有以下标头
FROM --platform=linux/x86_64 python:3.11
我的部署YAML如下所示,似乎可以很好地获取映像(我只是使用了Azure文档中的一些内容作为模板).
apiVersion: apps/v1
kind: Deployment
metadata:
name: ingest
namespace: default
spec:
replicas: 1
selector:
matchLabels:
bb: ingest
template:
metadata:
labels:
bb: ingest
spec:
containers:
- name: ingest
image: <my username>/ingest:0.0.1
imagePullPolicy: Always
当我在当地判断图像时,我看到
"Architecture": "amd64",
"Os": "linux",
我假设默认的芯片架构是x86_64,但不确定.我还用默认的芯片架构和操作系统构建了映像,并在本地进行了测试-它工作得很好.我是K8和Azure的新手.也许,我遗漏了一些明显的东西.有没有办法在我的配置中指定芯片架构和操作系统?如果我不指定,缺省值是多少?