Nat*_*amy 7 amazon-elb docker amazon-elastic-beanstalk docker-compose
我之前使用多容器 docker 和Dockerrun.json v2. 但现在它已被弃用。AWS 推荐Docker Amazon Linux 2 Platform。但这需要Dockerrun.json v3. 那么如何从 v2 迁移到 v3 呢?还是直接使用就可以了docker-compose.yml,或者需要使用Dockerrun.json v1。[有多个容器]。
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [{
"environment": [{
"name": "POSTGRES_USER",
"value": "admin"
},
{
"name": "POSTGRES_PASSWORD",
"value": "postgres"
},
{
"name": "POSTGRES_DB",
"value": "somedb"
}
],
"essential": true,
"image": "postgres:12-alpine",
"memory": 300,
"mountPoints": [{
"containerPath": "/var/lib/postgresql/data/",
"sourceVolume": "postgres_data"
}],
"name": "db",
"portMappings": [{
"containerPort": 5432,
"hostPort": 5432
}]
},
{
"essential": true,
"links": [
"db"
],
"name": "web",
"image": "****.dkr.ecr.ap-south-1.amazonaws.com/someimage:latest",
"memory": 300,
"portMappings": [{
"containerPort": 80,
"hostPort": 80
}]
}
],
"volumes": [{
"host": {
"sourcePath": "postgres_data"
},
"name": "postgres_data"
}
]
}
Run Code Online (Sandbox Code Playgroud)
只需创建 docker-compose.yml,不要尝试在 docker-compose.yml 内构建映像。将所有镜像推送到 ECR 中,然后在 docker compose 中引用即可。
version: '3'
services:
web:
image: ****.dkr.ecr.ap-south-1.amazonaws.com/abc:latest
ports:
- "80:80"
links:
- db
db:
image: postgres:12-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=***db
ports:
- "5432:5432"
volumes:
postgres_data:
Run Code Online (Sandbox Code Playgroud)
像这样
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |