FROM debian:9 EXPOSE 8000 ## install app RUN apt-get update && apt-get install -yq wget apt-transport-https lsb-release ca-certificates software-properties-common gnupg2 curl iputils-ping RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' RUN apt-get update && apt-get install -yq python python-pip git vim tmux zip build-essential php7.1 iptables xz-utils php7.1-mbstring php7.1-gmp # mysql-client php7.1 php7.1-mysql php7.1-curl php7.1-xml php7.1-zip php7.1-bcmath php7.1-mbstring php7.1-dom php7.1-amqp php7.1-soap php7.1-snmp ## install composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer RUN php -r "unlink('composer-setup.php');" ## install docker-composer #RUN curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #RUN chmod +x /usr/local/bin/docker-compose RUN pip install --upgrade pip RUN pip install docker-compose ## install ansible RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" | tee /etc/apt/sources.list.d/ansible.list RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 RUN apt-get update && apt-get install -yq ansible ## install docker RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable" RUN apt-get update && apt-get install -yq --allow-unauthenticated docker-ce ## add keys ssh from hosts RUN mkdir ~/.ssh RUN ssh-keyscan -H -p 22 bitbucket.org >> ~/.ssh/known_hosts ## add key to container COPY keys /opt/keys RUN chmod 0600 /opt/keys/* ## contains file to execute #RUN mkdir /opt/installation #RUN chmod -R 777 /opt/installation #ADD . /opt/installation #WORKDIR /opt/installation ARG DIR_INSTALL RUN mkdir -p $DIR_INSTALL RUN chmod -R 777 $DIR_INSTALL ADD . $DIR_INSTALL WORKDIR $DIR_INSTALL RUN cd $DIR_INSTALL ; composer install -n ENV DOCKER_HOST unix:///tmp/docker.sock ENTRYPOINT ["./execute.sh"]