我正艰难地尝试创建一个用于linux的公开云焰隧道可执行文件的停靠映像。到目前为止,我用我的码头形象达到了这个阶段(图像来自https://github.com/jakejarvis/docker-cloudflare-argo/blob/master/Dockerfile)
FROM ubuntu:18.04
LABEL maintainer="Jake Jarvis <jake@jarv.is>"
RUN apt-get update \
&& apt-get install -y --no-install-recommends wget ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN wget -O cloudflared.tgz https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.tgz \
&& tar -xzvf cloudflared.tgz \
&& rm cloudflared.tgz \
&& chmod +x cloudflared
ENTRYPOINT ["./cloudflared"]
在关于他们的库伯内特斯设置的正式文件之后,我将它添加到我的部署中,通过:(这里的cloudflare-argo:5
是从上面的dockerfile生成的图像)
- name: cloudflare-argo
image: my-registry/cloudflare-argo:5
imagePullPolicy: Always
command: ["cloudflared", "tunnel"]
args:
- --url=http://localhost:8080
- --hostname=my-website
- --origincert=/etc/cloudflared/cert.pem
- --no-autoupdate
volumeMounts:
- mountPath: /etc/cloudflared
name: cloudflare-argo-secret
readOnly: true
resources:
requests:
cpu: "50m"
limits:
cpu: "200m"
volumes:
- name: cloudflare-argo-secret
secret:
secretName: my-website.com
然而,一旦我部署,我就会在我的CrashLoopBackOff
上获得kubectl describe
错误,下面是kubectl describe
输出
创建容器cloudflare-argo 错误:未能启动容器"cloudflare-argo":来自守护进程的错误响应: OCI运行时创建失败: container_linux.go:349:启动容器进程导致"exec:\“$PATH中找不到的可执行文件:未知
发布于 2020-05-30 08:16:01
在dockerfile中,它是./cloudflared
,所以应该是:
command:
- ./cloudflared
- tunnel
- --url=http://localhost:8080
- --hostname=my-website
- --origincert=/etc/cloudflared/cert.pem
- --no-autoupdate
(而且没有理由同时使用command
和args
,只要选择一个,如果您删除第一个条目,然后使用args
)。
发布于 2020-05-30 08:30:04
在您的Dockerfile中,将云端二进制文件移动到/usr/local/bin
文件夹,而不是从当前的WORKDIR
运行它。
&& chmod +x cloudflared \
&& mv cloudflared /usr/local/bin
ENTRYPOINT ["cloudflared"]
https://stackoverflow.com/questions/62099573
复制相似问题