以下是我对cloudfoundry buildpacks和飞沫的理解
buildpack是运行时(比方说,jdk)+容器(比方说,tomcat)+框架(比方说,spring)+服务配置(如果有的话)+你的应用程序(如果有的话).
droplet是部署在linux容器上的buildpack.
请更正或添加其他信息.
我有一个 fastapi 应用程序,我想将其部署到 google cloud run。
对于 gRPC python 项目,我们将其部署为
gcloud beta run deploy countries --source .
Run Code Online (Sandbox Code Playgroud)
但这并没有按预期部署。我观看了一个使用Google cloud buildpacks从源代码部署的视频。
有没有人有办法做到这一点?
我的代码就像
from typing import List
import geopandas as gpd
from fastapi import FastAPI
from geojson_pydantic.geometries import Geometry
from geojson_pydantic.features import Feature
from pydantic import BaseModel
from shapely.geometry.geo import shape
import json
import shapely
class Country(BaseModel):
name: str
code: str
type: str
geometry: Feature
app = FastAPI(
title="Natural Earth Countries",
description="This is a list of endpoints which you …Run Code Online (Sandbox Code Playgroud) 我想使用 Nodejs 的 Paketo 构建包创建 Angular 12 应用程序的容器映像。我通过 Angular CLI 创建了该应用程序并对其进行了编码,直到现在我想要部署它。
\n为了创建容器,我按照 paketo 示例存储库中的说明操作并运行以下命令:
\npack build myui --buildpack gcr.io/paketo-buildpacks/nodejs --env "BP_NODE_RUN_SCRIPTS=build" --env "NODE_ENV=development"\nRun Code Online (Sandbox Code Playgroud)\n只要我在运行之前删除 node_modules 目录,这就可以正常工作pack。
现在我想在本地测试图像并尝试启动它
\ndocker run --tty --publish 4200:4200 myui\nRun Code Online (Sandbox Code Playgroud)\n看来启动成功了:
\n\xe2\x9c\x94 Browser application bundle generation complete.\n\nInitial Chunk Files | Names | Size\nmain.js | main | 6.14 MB\nvendor.js | vendor | 4.22 MB\nstyles.css | styles | 159.33 kB\npolyfills.js | polyfills | 128.67 kB\nruntime.js | runtime | 6.56 kB\n\n …Run Code Online (Sandbox Code Playgroud) 我开始使用pack为我的应用程序构建容器映像。我对不同的应用程序使用了不同的构建器:用于 Node.js 应用程序的gcr.io/buildpacks/builder和paketobuildpacks/builder:tiny和用于 Clojure 应用程序的
不必编写 Dockerfile 很棒,但我仍然不确定云原生 Buildpack 是如何工作的。构建包只是一堆可执行文件(由构建器运行),它们与手动编写 Docker多阶段构建FROM(即Dockerfile 中的多个指令)的开发人员实现相同的结果吗?
我的应用程序依赖于nodejs和phantomjs,我按照trigoman的回答是否有一个工作nodejs/phantomjs Heroku buildpack?.
但是我被困了如下:
creating young-thicket-8895... done, region is us
BUILDPACK_URL=http://github.com/ddollar/heroku-buildpack-multi.git
http://young-thicket-8895.herokuapp.com/ | git@heroku.com:young-thicket-8895.git
Git remote heroku added
Setting config vars and restarting young-thicket-8895... done, v4
PATH: /usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin
Setting config vars and restarting young-thicket-8895... done, v5
LD_LIBRARY_PATH: /usr/local/lib:/usr/lib:/lib:/app/vendor/phantomjs/lib
Counting objects: 26, done.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (26/26), 22.00 KiB, done.
Total 26 (delta 0), reused 0 (delta 0)
-----> Fetching custom git buildpack... done
-----> Multipack app detected
=====> Downloading Buildpack: http://github.com/heroku/heroku-buildpack-nodejs.git
Run Code Online (Sandbox Code Playgroud)
这个过程停止了很长时间然后
! …Run Code Online (Sandbox Code Playgroud) 我需要创建新的build-pack,我想知道是否有办法构建新的继承或扩展其他构建包的BP?(例如扩展nodeJS build-pack)我没有找到它的例子,所以我需要你的救命...
拥有一个 Spring Boot 应用程序,我尝试使用spring-boot-maven-plugin目标来构建它mvn spring-boot:build-image。但是构建无法下载bellsoft-jre11.0.9.1+1-linux-amd64.tar.gzfrom github.com,因为我无法从构建管道访问它:
...
Paketo BellSoft Liberica Buildpack 5.2.1
https://github.com/paketo-buildpacks/bellsoft-liberica
Build Configuration:
$BP_JVM_VERSION 11.0.9 the Java version
Launch Configuration:
$BPL_JVM_HEAD_ROOM 0 the headroom in memory calculation
$BPL_JVM_LOADED_CLASS_COUNT 35% of classes the number of loaded classes in memory calculation
$BPL_JVM_THREAD_COUNT 250 the number of threads in memory calculation
$JAVA_TOOL_OPTIONS the JVM launch flags
BellSoft Liberica JDK 11.0.9: Contributing to layer
Downloading from https://github.com/bell-sw/Liberica/releases/download/11.0.9.1+1/bellsoft-jdk11.0.9.1+1-linux-amd64.tar.gz
unable to invoke layer creator
unable to get …Run Code Online (Sandbox Code Playgroud) 两个简单的问题:
mvnw spring-boot:build-image?我正在为 Spring Boot 应用程序构建 Docker 映像。该应用程序依赖于其他第三方服务,这些服务在映像构建过程中不一定(也不应该)可用。因此,映像构建失败,因为 Spring Boot 应用程序在启动时检查这些第三方依赖项并尝试重新连接,直到它们可用。旁注:后者无法更改,因为它内置在正在使用的第三方服务的框架中。
我也不明白为什么应该实际启动应用程序来构建 Docker 映像。
感谢您的回复以及可能的其他背景信息。