首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图找出如何使这个可执行的集装箱用于码头。

试图找出如何使这个可执行的集装箱用于码头。
EN

Stack Overflow用户
提问于 2020-05-30 08:06:50
回答 2查看 332关注 0票数 0

我正艰难地尝试创建一个用于linux的公开云焰隧道可执行文件的停靠映像。到目前为止,我用我的码头形象达到了这个阶段(图像来自https://github.com/jakejarvis/docker-cloudflare-argo/blob/master/Dockerfile)

代码语言:javascript
运行
复制
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生成的图像)

代码语言:javascript
运行
复制
    - 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中找不到的可执行文件:未知

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-30 08:16:01

在dockerfile中,它是./cloudflared,所以应该是:

代码语言:javascript
运行
复制
      command:
        - ./cloudflared
        - tunnel
        - --url=http://localhost:8080
        - --hostname=my-website
        - --origincert=/etc/cloudflared/cert.pem
        - --no-autoupdate

(而且没有理由同时使用commandargs,只要选择一个,如果您删除第一个条目,然后使用args)。

票数 2
EN

Stack Overflow用户

发布于 2020-05-30 08:30:04

在您的Dockerfile中,将云端二进制文件移动到/usr/local/bin文件夹,而不是从当前的WORKDIR运行它。

代码语言:javascript
运行
复制
  && chmod +x cloudflared \
  && mv cloudflared /usr/local/bin

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

https://stackoverflow.com/questions/62099573

复制
相关文章

相似问题

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