如何将 Dockerized Symfony 应用程序部署到 Digital Ocean

How to deploy a Dockerized Symfony app to Digital Ocean

我正在探索 Docker 的世界,现在我正准备将应用程序发布到 Digital Ocean。

我使用 Symfony 创建了一个简单的应用程序,没有任何代码,在访问时,只显示默认的 Symfony 欢迎页面。

现在我想将它部署到 Digital Ocean(或任何其他服务,这只是一个测试)。

我创建了一个 docker-compose.yaml 文件,我在其中创建了两项服务:一项用于网络服务器,一项用于 MySQL 数据库:

version: '3.7'
services:
  # "php" was "language" in previous example
  php:
    build:
      context: .
      dockerfile: docker/build/php/Dockerfile
    ports:
    - "127.0.0.1:8100:80"

  # Configure the database
  mysql:
    build: docker/build/mysql
    ports:
    - "127.0.0.1:3307:3306"
    volumes:
    - ./docker/data/mysql:/var/lib/mysql

现在,我如何将其部署到 Digital Ocean?

我需要了解流程。

这是我想我应该做的:

  1. 将我的存储库从 BitBucket 克隆到 Digital Ocean droplet(如解释的那样
  2. 运行docker-compose build上滴
  3. 运行docker-compose up -d上滴

这是正确的流程吗?

我不确定...

刚刚完成。使用现有项目(如 https://github.com/coloso/symfony-docker)。在 docker-compose 文件中,php 容器中的 "virtual" symfony 文件夹与本地 "symfony" 文件夹同步,因此您可以正常工作,一旦开始了一切。工作完成后,只需将项目(包括 docker 文件)提交到 github(私有存储库)并将其克隆到数字海洋 docker droplet 和 运行 此处"composer install" 在您的 php 容器中而不是 "composer create-project ..."。这是一个非常好的快速系统。