【问题标题】:How to deploy a dockerized php application如何部署 dockerized php 应用程序
【发布时间】:2019-10-17 15:59:15
【问题描述】:

我有一个 Laravel 应用程序和 docker 设置,用于使用 docker-compose 进行本地开发。我的应用程序源代码保存在 BitBucket 中,现在我想将应用程序部署到 Linode 实例并从 docker 系统提供服务。如何做到这一点?到目前为止,我在 Linode 中运行了一个 LAMPP 映像,并在触发部署时将我的源代码推送到相应的路径。现在我想在服务器中使用相同的 docker 映像,而不是我正在使用的 LAMPP 服务器。如何做到这一点?或者这是正确的做法?

如果有人可以指出这样做的教程或指南会有所帮助吗?

【问题讨论】:

    标签: php docker linode


    【解决方案1】:

    如果您被锁定在 linode 上,我会尝试以下选项之一:

    如果您没有锁定在 linode 上,并且希望避免 Kubernetes 的复杂性,我可以告诉您,我已经成功地在 Digital Ocean 上运行了 docker 机器 - 这个解决方案(与大多数其他 docker-machine 解决方案一样) ) 使部署与在本地运行一样简单。

    至于如何将您的代码 PHP 代码放入容器,这里有一个示例 Dockerfile 我一直在使用我的一个 PHP dockerized 应用程序:

    FROM php:7-apache
    
    # Packages
    RUN apt-get -y update && apt-get -y install git zip
    RUN a2enmod rewrite && docker-php-ext-install sockets
    
    # App
    COPY . .
    
    # Composer
    COPY private/composer.phar /usr/local/bin/composer
    RUN chmod +x /usr/local/bin/composer
    RUN [[ ! -f composer.json ]] || composer install --ansi --no-interaction
    

    您可以根据自己的需要进行调整。

    【讨论】:

    • 我需要用docker部署源代码还是可以通过我一直在使用的部署系统来部署?
    • 与 docker 打交道时,您拥有应用程序在 docker 映像中运行所需的一切。当我们处理编译语言(如 Go)时,则不会(图像将只包含编译后的二进制文件)。处理 PHP 时 - 是的,我已经更新了答案。
    猜你喜欢
    • 2020-07-03
    • 2019-01-26
    • 1970-01-01
    • 2016-01-24
    • 2017-08-13
    • 2019-06-24
    • 2023-01-24
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多