如何部署 dockerized php 应用程序

How to deploy a dockerized php application

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

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

如果您确定要继续使用 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

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