【问题标题】:How to deploy a docker image from docker hub to ibm cloud free tier如何将 docker 镜像从 docker hub 部署到 ibm 云免费层
【发布时间】:2020-09-23 04:06:44
【问题描述】:

我是新来的。我想知道使用 IBM 云独立 CLI 将我的 docker 映像从 docker hub 部署到 IBM 无云层。我使用的是 Openshift 在线入门计划,只需大约 4 个命令即可部署映像。有人可以列出它是如何完成的,或者将我指向一个显示它是如何完成的资源。

谢谢

【问题讨论】:

    标签: docker deployment openshift ibm-cloud


    【解决方案1】:

    因此,如果您可以详细说明您的免费套餐,我可以稍后编辑我的回复。现在,我将解释这两个选项。您可以从here 找到免费服务。您将需要可以下载的 IBM Cloud Cli 工具:

    第一个帐户类型是:精简帐户。在此选项中,您无法创建 IBM Kubernetes 服务或 OpenShift 集群。您只能访问一些精简服务(大约 40 个服务),其中之一是 Cloud Foundry Public。 IBM Cloud 允许您免费使用 Cloud Foundry Public 上的 256 MB RAM。您可以使用以下命令:

    ibmcloud cf push \
      --docker-image <your-image> \
      --docker-username <your-username> \
      --random-route \
      -i 1 \
      -m <memory_limit_max_256_mb>
    

    您可以写信ibmcloud cf push --help了解更多详情


    第二种帐户类型是:试用/免费级别帐户,可以通过两种方式获得:功能代码或切换到现收现付。

    此选项也包括 Cloud Foundry Public,我不再赘述。但是使用这种帐户类型,您将拥有 IBM Kubernetes Service Free(30 天后自行删除,之后您可以再创建一个)

    当您在 IBM Cloud 上创建 Kubernetes 集群时,您将看到服务页面。左侧选项卡菜单上有一个access 菜单。您必须按照这些步骤才能从您的工作区访问您的 Kubernetes 集群。

    然后很容易部署你的镜像,输入:

    kubectl create deployment app --image=&lt;your_image_url&gt;

    如果您的图片不能公开访问,那么您必须创建一个 imagepullsecret 并将其绑定到您的服务帐户,但这不在主题范围内。 You can find it in here

    【讨论】:

    • 我尝试使用上述命令,但即使我没有在其他任何地方部署图像,我也会收到错误消息。
    • Invoking 'cf push ---doker-image kaviin27/vcloan:v2 --random-route -i 1 -m 100M'... 将应用程序 ---doker-image 推送到 org kavin- dsc / 空间模型为 kaviin27@gmail.com...获取应用程序信息...打开 C:\Users\kavin\AppData\Local\Comms\UnistoreDB\USS.jtx:该进程无法访问该文件,因为它正在被使用由另一个进程。
    • 所以,这可能是本地开发环境配置问题。让我们在云中尝试一下。打开您的 IBM Cloud,单击左上角的 cloud shell 按钮。尝试在那里使用ibmcloud cf push ... 命令。 (您可能必须在推送命令之前运行ibmcloud target --cf)@KavinSrinaathVK
    【解决方案2】:

    对于免费层级集群(仅限 kubernetes,无 OCP),您需要在 Web 控制台中执行此操作。

    【讨论】:

      【解决方案3】:

      OpenShift 工作节点可用于付费帐户和标准 仅限集群。您可以创建运行 4.3 版的 OpenShift 集群 或 3.11(已弃用)。操作系统是红帽企业 Linux 7.

      按照tutorial 中的说明在 IBM Cloud 集群上创建标准 Red Hat OpenShift,打开 OpenShift 控制台,访问内置 OpenShift 组件,在 OpenShift 项目中部署应用程序,并在 OpenShift 上公开应用程序路由,以便外部用户可以访问该服务。

      要从 DockerHub 中的容器镜像创建应用程序,您只需使用镜像名称运行以下命令

      oc new-app mysql
      

      其他构建容器镜像的策略,查看documentation here

      【讨论】:

        【解决方案4】:

        有一个新选项可将 Docker 映像部署到 IBM Cloud。 新选项称为 IBM Cloud Code Engine,目前处于 Beta 版,可在美国南部地区使用。

        登录到 IBM Cloud:

        ibmcloud login 或者如果您在浏览器中通过了身份验证,请尝试ibmcloud login --sso

        定位 us-south 区域和现有资源组:

        ibmcloud target -r us-south -g default

        将代码引擎插件安装到您的 ibmcloud cli 中: ibmcloud plugin install code-engine

        创建代码引擎项目:

        ibmcloud code-engine project create --name myProject

        从 docker 映像创建代码引擎应用程序:

        ibmcloud code-engine application create --name myapp --image docker.io/ibmcom/helloworld

        等到它部署完毕。

        【讨论】:

        • 谢谢,这适用于免费层(IBM Lite 帐户)吗?尝试创建项目时看到以下错误。 ibmcloud code-engine project create --name vcloan 创建项目 'vcloan'... 失败 无法选择项目 'vcloan'。内部错误:您的资源组配额不允许使用非精简计划。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-28
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-09
        相关资源
        最近更新 更多