php - AWS Beanstalk 和 docker-compose、php-fpm、忽略数据库、正确部署?
问题描述
我一直在寻找它至少几个小时,但我无法找到解决方案,所以我想征求你的意见。
我有一个docker-compose.yaml
文件:
version: "3.5"
services:
php:
build:
context: dev/php
- ./source:/application
nginx:
build:
context: dev/nginx
depends_on:
- php
volumes:
- ./source:/application
- ./dev/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "80:80"
mysql:
image: mysql:8.0.22
environment:
- MYSQL_ROOT_PASSWORD=${RDS_PASSWORD}
- MYSQL_DATABASE=${RDS_DB_NAME}
- MYSQL_USER=npuser
- MYSQL_PASSWORD=${RDS_PASSWORD}
ports:
- "3306:3306"
现在我想使用 CLI 命令的正确方式来部署它,所以它可以通过 CI/CD 来完成。
为此 - 现在我正在执行以下操作:
- 从 docker-compose.yaml 中删除
mysql
和其他数据库部分,因为我想使用 RDS 数据库 - 跑
eb init
- 跑
eb deploy --staged
我不喜欢这种方法的是第 1 点,我需要修改原始docker-compose.yaml
文件,第 3 点,我需要添加--staged
,因为docker-compose.yaml
在第 1 点进行了更改。
当然,我不想从docker-compose.yaml
文件中完全删除 mysql,因为我希望它可以在本地开发环境中轻松运行,但我看不到eb
仅部署选定容器的选项。
另外,我想知道,也许我应该使用Dockerrun.aws.json
而不是docker-compose.yaml
用于 eb 部署?我希望你能让我找到正确的方向,因为我不知道在这种情况下应该正确部署什么。
解决方案
推荐阅读
- snowflake-cloud-data-platform - Snowflake 中的传统星型模式与宽表性能比较
- sql - 更清洁/更有效的方式仅拉到前 10%
- ggplot2 - 在 Shiny 应用程序中使用时,ggplot2 中的美学问题
- php - 如何在 realod 夹具后不自动增加 id?
- powerbi - DAX 累积 (YTD) 度量
- memory - DMA 适合键盘吗?
- python - 如何正确地在 __new__ 中使用 type(3 args) 和 2 个祖先构建一个类?
- python - 试图使一个函数从设定值中递归地添加数字
- java - Java 编码 Base64,MimeBodyPart 附件
- flutter - 如何从地图中的值中选择列表中的特定地图?