我正在尝试将一个带有python应用程序的docker容器部署到Azure Kubernetes服务。在部署并查看新pod上的日志后,我看到了以下错误:
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的新手。也许,我错过了一些显而易见的东西。有没有办法在我的配置中指定芯片架构和操作系统?如果我没有指定,默认值是什么?