Google Cloud Run 中的 docker-compose.yml

mik*_*oss 4 docker google-cloud-platform docker-compose google-cloud-run

当涉及到 docker-compose、Dockerfile 以及 GCP 的服务 Cloud Run 的工作原理时,我有一个很大的理解问题。这使我无法在我拥有的项目中取得进展,而且我几乎无所事事可尝试。

我有一个 docker-compose.yml 文件,内容如下:

version: '2'

services:

    # The Application
    app:
        container_name: laravel_app
        build:
            context: ./
            dockerfile: docker/app.dockerfile
        volumes:
            - ./storage:/var/www/storage

    # The Web Server
    web:
        container_name: nginx_server
        build:
            context: ./
            dockerfile: docker/web.dockerfile
        volumes:
        - ./storage/logs/:/var/log/nginx
        ports:
        - 8080:80
Run Code Online (Sandbox Code Playgroud)

如您所见,它非常简单,有两种服务,一种用于带有 php 的应用程序,另一种用于服务器。两者都有自己的 dockerfiles 并且构建是正确的。在本地一切正常,没有问题。

我现在想在 GCP 上的 Cloud Run 服务中部署这些服务。在挖掘之后,我发现可能只能使用单个Dockerfile. 有没有办法将 docker-compose.yml 容器部署到 Cloud Run?我应该使用其他服务吗?

gui*_*ere 13

直接的答案是:不,它不会按原样工作!您必须更新您的包装。

是的,需要大量返工……或者您可以为此使用传统的 IaaS,使用 VM,但您失去了可扩展性和无服务器功能的所有优势。

  • 感谢您的确认!我发现找到一个明确的确认来证明不,这是不可能的非常乏味。 (2认同)