我的 dockerfile 看起来像这样:
FROM alpine
RUN apk add --no-cache \
ca-certificates \
curl \
python \
py-pip
RUN pip install awscli
# remaining code...
Run Code Online (Sandbox Code Playgroud)
但是当我构建它时,我收到以下错误日志:
RUN apk add --no-cache ca-certificates curl python py-pip
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
python (missing):
required by: world[python]
The command '/bin/sh -c apk add --no-cache ca-certificates curl python py-pip' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)
我发现了一些描述相同错误的问题,但解决方案对我没有帮助。
我需要提到python版本吗?我真的很想用来安装最新版本。
我正在运行 3 个 docker 容器,比方说:
所有这些容器都使用 gRPC 进行通信。
我正在容器 1 中执行一元 RPC(请求/回复)调用,该调用调用容器 2 的方法。该方法执行各种操作并调用container-3的大量一元RPC(~20)。
在整个过程中有时我会收到以下错误(注意:不是每次,即使我的输入数据是相同的):
rpc error: code = Canceled desc = context canceled
每当错误出现时,它都会发生在最后 4-5 个 RPC 调用之一(在 container-2 中)。
我观察到的一件事是,这个错误是在我开始该过程后约 1 分钟后出现的。
所以,
谢谢。
编辑:
以下是显示我如何连接和调用 RPC 的要点代码:
// load proto
const proto = await grpc.load(PROTO_PATH);
// connect to service
const SERVICE = new proto.types.MyService(SERVICE_ADDR, grpc.credentials.createInsecure(), {
"grpc.keepalive_time_ms" : (5 * 60 * 1000), …Run Code Online (Sandbox Code Playgroud)