Building on Day 7, today: Task definitions—the blueprint for containers.
Key Parameters
- Container definitions: Image, ports, CPU/memory.
- Volumes, networking, etc.
Step 1: Create Task Definition
JSON example for our app:
{
"family": "my-task",
"containerDefinitions": [
{
"name": "my-container",
"image": "<account-id>.dkr.ecr.us-west-2.amazonaws.com/my-app-repo:latest",
"cpu": 256,
"memory": 512,
"portMappings": [{ "containerPort": 3000, "hostPort": 3000 }],
"essential": true
}
],
"requiresCompatibilities": ["FARGATE"],
"networkMode": "awsvpc",
"cpu": "256",
"memory": "512"
}
Register via CLI: aws ecs register-task-definition --cli-input-json file://task.json
Step 2: Run a Task
Console: ECS > Clusters > my-cluster > Tasks > Run new task > Select definition.
CLI:
aws ecs run-task --cluster my-cluster --task-definition my-task --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets=[subnet-id],securityGroups=[sg-id],assignPublicIp=ENABLED}"
Check logs in console.
Today’s Takeaway
Tasks defined and running!
What’s Next?
In Day 9, we’ll deploy ECS services.
Top comments (0)