We are going to access host's docker from container.
Container requires docker to be installed. (You can also install docker-compose if you need)
FROM centos:7
RUN set -eux; \
    yum install -y sudo;
# Install docker and docker-compose
RUN set -eux; \
    sudo curl -sSL https://get.docker.com/ | sh; \
    sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose; \
    sudo chmod +x /usr/local/bin/docker-compose
Just build the docker image as usual.
docker build -t franz/test .
We mount docker socket and pass privileged flag to get permission to run.
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --privileged --name test franz/test /bin/bash
You can try docker ps to see if it is using the docker in the host machine.
[root@5ef32b67b635 /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5ef32b67b635        franz/test          "/bin/bash"         3 seconds ago       Up 2 seconds                            test
 

 
    
Top comments (0)