如何在GCP(云运行)上部署Go应用程序?

Abh*_*Jha 0 deployment go google-cloud-platform google-cloud-run

创建了一个简单的 Golang 应用程序,其中有一个通过 Gin Web 框架创建的服务器,该服务器接受请求并为其提供响应。现在部署它构建了一个 docker 容器,然后将其托管在云运行的谷歌云平台服务上。

Abh*_*Jha 5

要求 -> Google Cloud SDK、Docker

  • 第 1 步 -> 为应用程序创建一个 docker 文件,以便您可以从中创建映像并将其添加到 GCP 上的容器注册表,从中可以使用该容器在云运行上部署应用程序。 dockerfile 示例

  • 步骤 2 -> 在本地设备上构建并运行容器以检查问题。 在本地设备上构建并运行

  • 步骤 3 -> 使用命令从终端登录谷歌云

    gcloud auth login

并使用命令授权 docker-configure

gcloud auth configure-docker
Run Code Online (Sandbox Code Playgroud)
  • 第 4 步 -> 标记图像

    docker 标签 goapp gcr.io/project-name-from-GCP/go-app

第 5 步 -> 使用命令将映像推送到容器注册表

docker push gcr.io/project-name-from-GCP/go-app
Run Code Online (Sandbox Code Playgroud)

将镜像推送到 Google 容器注册表

  • 步骤 6-> 在 google cloud run 上使用上面标记的镜像来创建服务并部署应用程序。

extra - 如果设备是 Mac M1 ,则容器映像中的可执行文件必须针对 Linux 64 位进行编译。Cloud Run 特别支持 Linux x86_64 ABI 格式,因此在 docker build 中使用 --platform linux/amd64 来防止在 cloud run 上部署时出现问题