Kumaresh Babu N S
Kumaresh Babu N S

Reputation: 1708

Docker Container not working in AWS ECS using AWS ECR

I've single docker container and have to deploy on AWS Cloud using AWS ECR with Elastic Beanstalk. I'm using Dockerrun.aws.json file to provide the information about repository details. I have pushed my image to my docker hub and Elastic Container Registry.

Using DockerHub in ECS, It can pull the docker image from docker hub and starts the container without any issues and working the app as expected. On the other hand, the container gets stopped when the image pulled from AWS ECR Repository for the same application. The deployment gets failed for the reason: Essential container in task exited

Dockerrun.aws.json

{
    
    "containerDefinitions": [
        {
            "essential": true,
            "image": "01234567891.dkr.ecr.us-east-1.amazonaws.com/app:1",
            "memory": 512,
            "name": "web",
            "portMappings": [
                {
                    "containerPort": 5000,
                    "hostPort": 80
                }
            ]
        }
    ],
    "family": "",
    "volumes": [],
    "AWSEBDockerrunVersion": "2"
}

I logged into the instance and tried to get the logs of the containers. But, I got this error standard_init_linux.go:211: exec user process caused "exec format error"

Dockerfile

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Upvotes: 4

Views: 5650

Answers (2)

Kumaresh Babu N S
Kumaresh Babu N S

Reputation: 1708

The problem lies in AWS CodeBuild Project. I've mistakenly provided the wrong architecture for the build. The docker image built on different architecture and tried to run on the different architecture in the deployment state. I've changed to the same architecture which is used for the deployment. Both the docker hub image and ECR image seems working fine.

Upvotes: 2

Adiii
Adiii

Reputation: 60084

Seems like there is depended on docker container in task definition or the docker-compose file.

This error occur you have container B that is opened on A and A is esetional for services, so container B will automatically exit.

You need to debug why A is exit.

Essential container in task exited

If a container marked as essential in task definitions exits or dies, that can cause a task to stop. When an essential container exiting is the cause of a stopped task, the Step 6 can provide more diagnostic information as to why the container stopped.

stopped-task-errors

Upvotes: 2

Related Questions