如何解决在弹性beantalk上使用Dockerrun.aws.json在mongo contianer启动上创建用户
我正在尝试在弹性beantalk上部署多容器应用程序。 该应用程序由三项服务组成:
- FastAPI
- Mongodb
- Redis
我的docker-compose文件如下所示:
version: "3"
services:
web:
image: pushpvashisht/web:latest
environment:
- MONGO_HOST=${MONGO_HOST}
- REDIS_HOST=${REDIS_HOST}
depends_on:
- mongo
- redis
ports:
- "8000:8000"
volumes:
- /mnt2/web-logs/:/web-logs/
mongo:
image: mongo:latest
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
- MONGO_INITDB_DATABASE=example
ports:
- "27017:27017"
volumes:
- /mnt2/mongo_data:/data/db/
- ./src/helper_scripts/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- /mnt2/redis_data:/data
为mongo服务安装的卷(./src/helper_scripts/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro)用于为“示例”创建用户数据库。
mongo-init.js:
db.createUser(
{
user: "admin",pwd: "admin",roles: [
{
role: "readWrite",db: "example"
}
]
}
);
如何将该docker-compose文件转换为Dockerrun.aws.json文件,以将应用程序部署在弹性beantalk上?
参考文档,我已经写了这么多:
{
"AWSEBDockerrunVersion": 2,"containerDefinitions": [
{
"name": "web","image": "pushpvashisht/web:latest","essential": true,"environment": [
{
"name": "MONGO_HOST","value": "${MONGO_HOST}"
},{
"name": "REDIS_HOST","value": "${REDIS_HOST}"
}
],"links": [
"mongo","redis"
],"portMappings": [
{
"containerPort": 8000,"hostPort": 8000
}
],"mountPoints": [
{
"containerPath": "/web-logs/","sourceVolume": "Mnt2Web-Logs"
}
]
"memory": 128
},{
"name": "mongo","image": "mongo:latest","environment": [
{
"name": "MONGO_INITDB_ROOT_USERNAME","value": "${MONGO_INITDB_ROOT_USERNAME}"
},{
"name": "MONGO_INITDB_ROOT_PASSWORD","value": "${MONGO_INITDB_ROOT_PASSWORD}"
},{
"name": "MONGO_INITDB_DATABASE","value": "example"
}
],"portMappings": [
{
"containerPort": 27017,"hostPort": 27017
}
],"mountPoints": [
{
"containerPath": "/data/db/","sourceVolume": "Mnt2Mongo_Data"
},{
"containerPath": "/docker-entrypoint-initdb.d/mongo-init.js","sourceVolume": "_SrcHelper_ScriptsMongo-Init_Js"
}
],"memory": 128
},{
"name": "redis","image": "redis:latest","portMappings": [
{
"containerPort": 6379,"hostPort": 6379
}
],"mountPoints": [
{
"containerPath": "/data","sourceVolume": "Mnt2Redis_Data"
}
],"memory": 256
}
],"volumes": [
{
"host": {
"sourcePath": "/mnt2/web-logs/"
},"name": "Mnt2Web-Logs"
},{
"host": {
"sourcePath": "/mnt2/mongo_data"
},"name": "Mnt2Mongo_Data"
},{
"host": {
"sourcePath": "./src/helper_scripts/mongo-init.js"
},"name": "_SrcHelper_ScriptsMongo-Init_Js"
},{
"host": {
"sourcePath": "/mnt2/redis_data"
},"name": "Mnt2Redis_Data"
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。