I'm trying to deploy my application to Elastic Beanstalk (running docker) but during the deploy it always fails with something like this:
Activity execution failed, because: cat: /var/app/current/Dockerrun.aws.json: No such file or directory cat: /var/app/current/Dockerrun.aws.json: No such file or directory 2ba4cc7f9cb0a66db0ab1be8736ba96bffbb1c96a219cf5e888f99a964ae4f2a
As far as I understand Dockerrun.aws.josn file is not required if Dockerfile is present and I don't see any reason why we should have it.
My Dockerfile is like this:
FROM ubuntu:16.04
# create source directory
RUN rm -rf /var/www
RUN mkdir /var/www
# update and upgrade ubuntu
RUN apt-get update && apt-get upgrade -y
# install nginx
RUN apt-get install -y nginx
# install php 7
RUN apt-get install -y php7.0 php7.0-fpm php7.0-xml php7.0-curl
# install php mysql
RUN apt-get install -y php7.0-mysql
# install php mbstring
RUN apt-get install -y php7.0-mbstring
# install php mcrypt
RUN apt-get install -y php7.0-mcrypt
# install git
RUN apt-get install -y git
# install zip and unzip
RUN apt-get install -y zip unzip
ADD . /var/www
EXPOSE 80
CMD ["/usr/sbin/nginx", "-c", "/etc/nginx/nginx.conf"]
Our application source files are in the same directory as the Dockerfile. I took the example of file structure and the dockerfile it self from http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/docker-singlecontainer-deploy.html
We use the same Dockerfile to build the app using CodeBuild and it has no error. also locally I can build that app without any problems.
Any help would be greatly appreciated.