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.

  • Creating docker images with java application [closed]
  • salt: several minions on one host? [closed]
  • Docker compose command user selection
  • Not able to connect to HBase ( Zookeeper ) running on Vagrant
  • How to ssh docker machine by xshell
  • automatically start /etc/init script in IBM Bluemix container
  • 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.
    

  • How to run GUI application from linux container in Window using Docker?
  • Can you use nginx reverse proxy to docker containers without exposing any ports?
  • How to execute script after container is just running
  • Ubuntu 14.04: Upgrade to php7 and uninstall php5?
  • How to view log4j logs running inside a docker container?
  • How to read environment variable in Nodejs?
  • 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.