从公共注册表中的映像部署应用程序工作负载

使用 Code Engine 部署您的应用。 您可以 从控制台使用CLI 创建应用程序。

从控制台部署应用程序

使用 Code Engine 控制台,从公共注册表中部署一个无需凭据的镜像所对应的应用程序。

此示例引用 IBM Cloud® Container Registry 中的公共 icr.io/codeengine/helloworld 映像。 或者,您还可以引用公共 Docker Hub 中的映像或专用注册表中的 映像

  1. 打开 Code Engine 控制台。
  2. 选择“开始创建”。
  3. 从可用项目列表中选择一个项目。 您还可以 创建新的。 您必须具有所选项目才能部署应用程序。
  4. 选择应用程序
  5. 请输入应用程序的名称。 请为您的应用程序指定一个在该项目中唯一的名称。
  6. 指定应用程序的容器映像,例如 icr.io/codeengine/helloworld。 如果您有自己的源代码要转换为应用程序的容器映像,请参阅 规划构建。 有关用于此示例的代码的更多信息,请参阅 helloworld
  7. 修改端点或运行时设置的任何缺省值。 有关这些选项的更多信息,请参阅 用于应用程序端点可视性的选项用于部署应用程序的选项
  8. 单击创建
  9. 在应用程序状态更改为 Ready 后,可以测试应用程序。 单击 测试应用程序,然后在“测试应用程序”窗格中单击 发送请求。 要在网页中打开应用程序,请单击应用程序 URL

现在,您已部署应用程序,可以查看有关应用程序修订版和任何正在运行的实例的信息以及配置详细信息。

使用 CLI 部署应用程序

要使用 CLI 创建和部署应用程序,请使用 app create 命令。 此命令需要名称和映像,并且还允许其他可选参数。 有关选项的完整列表,请参阅 ibmcloud ce app create 命令。

准备工作

以下 application create 命令创建并部署名为 myapp 的应用程序,并使用容器映像 icr.io/codeengine/hello

ibmcloud ce application create --name myapp --image icr.io/codeengine/hello

示例输出

Creating application 'myapp'...
OK
[...]
Run 'ibmcloud ce application get -n myapp' to check the application status.
OK
https://myapp.4idmmq6xpss.us-south.codeengine.appdomain.cloud

下表概述了此示例中与 app create 命令配合使用的选项。 有关该命令及其选项的更多信息,请参阅 ibmcloud ce app create 命令。

命令描述
选项 描述
--name 应用程序的名称。 请使用项目中唯一的名称。 此值是必需的。
-名称必须以小写字母开头。
-名称必须以小写字母数字字符结尾。
-名称必须不超过 55 个字符,并且可以包含字母,数字和连字符 (-)。
--image 用于此应用程序的映像的名称。 此值是必需的。 格式为 REGISTRY/NAMESPACE/REPOSITORY:TAG,其中 REGISTRYTAG 为可选内容。 如果未指定 TAG,则默认值为 latest。 对于 Docker Hub中的映像,可以使用 NAMESPACE/REPOSITORY 指定映像,因为 Registry 的缺省值为 docker.io。 对于其他注册表,请使用 REGISTRY/NAMESPACE/REPOSITORYREGISTRY/NAMESPACE/REPOSITORY:TAG

后续步骤

  • 部署应用后,请通过 URL访问您的应用

  • 您可以创建 定制域映射 并将其分配给应用程序。 有关使用定制域名跨多个区域部署应用程序的更多信息,请参阅 配置高可用性应用程序

  • 现在,您的应用程序已部署,请考虑使应用程序成为事件驱动的应用程序。 通过使用事件预订,您可以通过 定期调度 来触发应用程序,或者设置应用程序以对事件 (例如 文件上载Kafka 消息) 作出反应。

部署应用程序后,您可以使用以下 任何 方法 更新已部署的应用程序 及其引用的代码,而与创建或先前更新应用程序的方式无关:

  • 如果您具有容器映像,那么根据 Open Container Initiative(OCI)标准,您只需要提供对该映像的引用,这将指向部署应用程序时容器注册表的位置。 您可以使用 公共注册表专用注册表 中的映像来部署应用程序。

    如果使用 app create 命令创建了应用程序,并且指定了 --build-source 选项以从本地或存储库源构建容器映像,并且要将应用程序更改为指向其他容器映像,那么必须首先从应用程序中除去构建的关联。 例如,运行 ibmcloud ce application update -n APP_NAME --build-clear。 从应用程序中除去构建的关联后,可以更新应用程序以引用其他映像。

  • 如果您是从位于 Git 存储库中的源代码开始,那么可以选择让 Code Engine 负责从源构建映像并使用 单个 操作部署应用程序。 在此场景中,Code Engine 将映像上载到 IBM Cloud® Container Registry。 要了解更多信息,请参阅 从存储库源代码部署应用程序。 如果要对映像的构建进行更多控制,那么可以选择在部署应用程序之前使用 Code Engine 构建映像

  • 如果是从本地工作站上的源代码开始,那么可以选择让 Code Engine 负责从源构建映像并使用 单个 CLI 命令部署应用程序。 在此场景中,Code Engine 将映像上载到 IBM Cloud® Container Registry。 要了解更多信息,请参阅 使用 CLI 从本地源代码部署应用程序。 如果要对映像的构建进行更多控制,那么可以选择在部署应用程序之前使用 Code Engine 构建映像

    例如,您可以选择让 Code Engine 在您为应用程序开发源时处理本地源的构建。 然后,在映像成熟后,您可以更新已部署的应用程序以引用所需的特定映像。 您可以根据需要重复此过程。

部署更新后的应用程序时,将下载并部署所引用容器映像的最新版本,除非为该映像指定了标记。 如果为映像指定了标记,那么标记的映像将用于部署。

要查找更多代码示例吗? 请查看“IBM Cloud Code Engine”GitHub 代码库中的示例