Using docker-compose in Dockerfile

To create a docker image for a tileserver i want to include the generation of the tilemaps via https://github.com/openmaptiles/openmaptiles/blob/master/QUICKSTART.md into the build process.

For that i would need to “RUN docker-compose” during the image build process.

  • fig.sh and mysql container losing all data after stopping services
  • Elastic beanstalk with Docker Volumes pointing to files
  • Docker event output formatting
  • Moving from Ubuntu 14.04 32 bit to Ubuntu 14.04 64 bit
  • How to build sidekiq and rails image with docker?
  • NodeMCU build custom firmware by Docker protocol error
  • FROM debian:jessie
    
    RUN apt-get update \
        && apt-get -y install apt-utils
    
    RUN apt-get update \
        && apt-get -y install   ca-certificates curl
    
    ENV DOCKER_VERSION 1.12.3
    ENV COMPOSE_VERSION 1.9.0
    
    RUN curl -L https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz > /tmp/docker-${DOCKER_VERSION}.tgz \
     && tar -zxf /tmp/docker-${DOCKER_VERSION}.tgz -C /tmp \
     && cp /tmp/docker/docker /usr/local/bin/docker \
     && chmod +x /usr/local/bin/docker \
     && rm -rf /tmp/docker-${DOCKER_VERSION}.tgz /tmp/docker \
     && curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose \
     && chmod +x /usr/local/bin/docker-compose
    
    # check installation
    RUN docker-compose -v
    
    # install git
    RUN apt-get -y install git-core
    
    # install gawk
    RUN apt-get -y install gawk
    
    # install make
    RUN apt-get -y install make
    
    # Clone Maptiles Repo
    RUN git clone https://github.com/digitalegarage/openmaptiles /openmaptiles
    
    RUN cd /openmaptiles \
        && bash quickstart.sh bayern
    
    # Start Maptiels Server
    # on port 8080
    CMD make start-tileserver
    

    Trying to build this dockerfile seems to succefully install docker-compose
    but starting docker-compose via the bash script results in the following error

    Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    
    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
    

  • Unable to dockerize a nodeapp
  • Docker - Cannot remove dead container
  • How to create an automated build after the DockerHub redesign?
  • Dynamic DNS Resolution with HAProxy and Docker
  • Linking a SQL Server with a liferay instance running in a docker container
  • bamboo agent and docker connectivity, need explanation
  • One Solution collect form web for “Using docker-compose in Dockerfile”

    You are getting this error because docker daemon is not running inside your container. So you need to have a connection with any host that running docker daemon and specified DOCKER_HOST env variable. I suggest you link your container with another docker-in-docker container(https://hub.docker.com/_/docker/). Take a look into one of the existing docker-in-docker solutions out there.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.