Amazon web services 在AWS上轻松运行单个Dockerfile
假设我有一个简单的独立Dockerfile及其entrypoint.sh。容器已在AWS ECR上制造和储存 在本地,我是这样运行的:Amazon web services 在AWS上轻松运行单个Dockerfile,amazon-web-services,docker,amazon-ecs,amazon-ecr,Amazon Web Services,Docker,Amazon Ecs,Amazon Ecr,假设我有一个简单的独立Dockerfile及其entrypoint.sh。容器已在AWS ECR上制造和储存 在本地,我是这样运行的: docker run —rm my_container my_parameters 我不需要负载平衡,也不需要在执行后使容器保持活动状态,只需要按需执行(通过AWSAPI) 在AWS上执行此操作的最简单方法是什么?下面是在AWS上运行最简单容器的前3层 创建集群 创建任务定义 创建服务 但是在上面的序列中,您的命令docker run-rm my_contai
docker run —rm my_container my_parameters
我不需要负载平衡,也不需要在执行后使容器保持活动状态,只需要按需执行(通过AWSAPI)
在AWS上执行此操作的最简单方法是什么?下面是在AWS上运行最简单容器的前3层
docker run-rm my_container my_参数
位于第3层。由于在整个生命周期中只需创建一次第1层,如果需要任何更改,如任务定义中的端口更新或任何环境,则需要更新第2层,但在某些情况下,这种情况并不常见
因此,使用API或AWS CLI更好地管理第3层。正如您提到的随需应变,所以您也可以使用在特定时间运行和停止的容器来运行
bash脚本将在另一个(停止容器)中创建任务定义(模板)、启动服务(运行容器)和停止服务
taskdefinition.json
{
"containerDefinitions": [
{
"cpu": 0,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/stage-background-worker",
"awslogs-region": "us-west-2",
"awslogs-stream-prefix": "ecs"
}
},
"environment": [
{
"name": "NODE_ENV",
"value": "staging"
}
],
"memoryReservation": 400,
"image": "youarn.dkr.ecr.us-west-2.amazonaws.com:latest",
"dockerLabels": {
"Name": "test"
},
"privileged": true,
"name": "test"
}
],
"family": "test"
}
基于AWS-CLI,您可以对任何编程语言进行相同的探索
{
"containerDefinitions": [
{
"cpu": 0,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/stage-background-worker",
"awslogs-region": "us-west-2",
"awslogs-stream-prefix": "ecs"
}
},
"environment": [
{
"name": "NODE_ENV",
"value": "staging"
}
],
"memoryReservation": 400,
"image": "youarn.dkr.ecr.us-west-2.amazonaws.com:latest",
"dockerLabels": {
"Name": "test"
},
"privileged": true,
"name": "test"
}
],
"family": "test"
}