如何部署 dockerized php 应用程序
How to deploy a dockerized php application
我有一个 Laravel 应用程序和 docker 使用 docker-compose
进行本地开发的设置。我的应用程序源代码保存在 BitBucket 中,现在我想将应用程序部署到 Linode 实例并从 docker 系统提供服务。如何做到这一点?截至目前,我在 Linode 中有一个 LAMPP 图像 运行,当部署被触发时,我将我的源代码推送到相应的路径。现在我想在服务器中使用相同的 docker 图像,而不是我正在使用的 LAMPP 服务器。如何做到这一点?或者这是正确的方法?
如果有人可以指出这样做的教程或指南,将会有所帮助吗?
如果您确定要继续使用 linode,我会尝试以下选项之一:
- Linode docker machine driver - 请注意,这是一个非官方的 docker 机器驱动程序。
- Linode containers guide - 使用 Kubernetes,我通常在我的 small-scale 应用程序中尽量避免使用它。
如果您不打算继续使用 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
您可以根据需要进行调整。
我有一个 Laravel 应用程序和 docker 使用 docker-compose
进行本地开发的设置。我的应用程序源代码保存在 BitBucket 中,现在我想将应用程序部署到 Linode 实例并从 docker 系统提供服务。如何做到这一点?截至目前,我在 Linode 中有一个 LAMPP 图像 运行,当部署被触发时,我将我的源代码推送到相应的路径。现在我想在服务器中使用相同的 docker 图像,而不是我正在使用的 LAMPP 服务器。如何做到这一点?或者这是正确的方法?
如果有人可以指出这样做的教程或指南,将会有所帮助吗?
如果您确定要继续使用 linode,我会尝试以下选项之一:
- Linode docker machine driver - 请注意,这是一个非官方的 docker 机器驱动程序。
- Linode containers guide - 使用 Kubernetes,我通常在我的 small-scale 应用程序中尽量避免使用它。
如果您不打算继续使用 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
您可以根据需要进行调整。