1
0
mirror of https://github.com/bingohuang/docker-labs.git synced 2025-07-14 01:57:32 +08:00
docker-labs/Dockerfile.dind
Jonathan Leibiusky f816be6f69 Add DNS support for PWD instances (#94)
* Add DNS support for PWD instances

* Store IP address of PWD in all session networks and restore it with the
same IP address

* Remove unnecesary print

* Change url format to pwd<ip>-port for better DNS filtering

* Make PWD listen on 80 and 443 for DNS resolve to work
2017-02-17 11:10:01 -03:00

41 lines
1.6 KiB
Docker

FROM docker:1.13.1-dind
RUN apk add --no-cache git tmux py2-pip apache2-utils vim build-base gettext-dev curl bash
ENV COMPOSE_VERSION=1.11.1
# Install Compose and Machine
RUN pip install docker-compose==${COMPOSE_VERSION}
RUN curl -L https://github.com/docker/machine/releases/download/v0.9.0-rc1/docker-machine-Linux-x86_64 \
-o /usr/bin/docker-machine && chmod +x /usr/bin/docker-machine
# Compile and install httping
# (used in orchestration workshop, and very useful anyway)
RUN mkdir -p /opt && cd /opt && \
curl https://www.vanheusden.com/httping/httping-2.5.tgz | \
tar -zxf- && cd httping-2.5 && \
./configure && make install LDFLAGS=-lintl && \
rm -rf httping-2.5
# Replace modprobe with a no-op to get rid of spurious warnings
# (note: we can't just symlink to /bin/true because it might be busybox)
RUN rm /sbin/modprobe && echo '#!/bin/true' >/sbin/modprobe && chmod +x /sbin/modprobe
# Install a nice vimrc file and prompt (by soulshake)
COPY ["docker-prompt","/usr/local/bin/"]
COPY [".vimrc",".bashrc", ".inputrc", "./root/"]
ARG docker_storage_driver=overlay2
ENV DOCKER_STORAGE_DRIVER=$docker_storage_driver
# Move to our home
WORKDIR /root
# Remove IPv6 alias for localhost and start docker in the background ...
CMD cat /etc/hosts >/etc/hosts.bak && \
sed 's/^::1.*//' /etc/hosts.bak > /etc/hosts && \
dockerd --experimental -g /graph --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 \
--storage-driver=$DOCKER_STORAGE_DRIVER --dns $PWD_IP_ADDRESS --dns 8.8.8.8 &>/docker.log & \
while true ; do /bin/bash ; done
# ... and then put a shell in the foreground, restarting it if it exits