diff --git a/Dockerfile b/Dockerfile index ad1854f..cc8d4e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,15 +3,18 @@ FROM alpine:edge ENV DOCKER_MACHINE_NAME=default ENV DOCKER_MACHINE_PORT=2376 -RUN apk -q update && apk add bash docker curl openssh-client py2-pip +RUN apk add --no-cache bash docker curl openssh-client py2-pip -RUN pip install docker-compose -RUN docker-compose --version +RUN pip install docker-compose \ + && docker-compose --version -RUN curl -L https://github.com/docker/machine/releases/download/v0.8.2/docker-machine-`uname -s`-`uname -m` > /usr/bin/docker-machine && chmod +x /usr/bin/docker-machine -RUN docker-machine --version +RUN DOWNLOAD_URL=$(curl -s https://api.github.com/repos/docker/machine/releases | grep browser_download_url | cut -d '"' -f 4 | grep -m 1 docker-machine-`uname -s`-`uname -m`) \ + && curl -L $DOWNLOAD_URL > /usr/bin/docker-machine \ + && chmod +x /usr/bin/docker-machine \ + && docker-machine --version -RUN pip install awscli +RUN pip install awscli \ + && aws --version COPY entrypoint.sh / diff --git a/README.md b/README.md index 96fdd1e..e6c6415 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,22 @@ -usage: - - docker run --rm \ - -e DOCKER_MACHINE_NAME= \ - -e DOCKER_MACHINE_URL= \ - -e DOCKER_MACHINE_PORT= \ - -e DOCKER_MACHINE_CA_CERT= \ - -e DOCKER_MACHINE_CA_CERT_KEY= \ - -e DOCKER_MACHINE_CERT= \ - -e DOCKER_MACHINE_CERT_KEY= \ - raketenbasis/docker-machine \ - docker run -d --name nginx -p 80:80 nginx:latest +# Usage + +``` +docker run --rm -it \ + -e DOCKER_MACHINE_NAME= \ + -e DOCKER_MACHINE_URL= \ + -e DOCKER_MACHINE_PORT= \ + -e DOCKER_MACHINE_CA_CERT="$(cat ca.pem )" \ + -e DOCKER_MACHINE_CA_CERT_KEY="$(cat ca-key.pem )" \ + -e DOCKER_MACHINE_CERT="$(cat cert.pem )" \ + -e DOCKER_MACHINE_CERT_KEY="$(cat key.pem )" \ + raketenbasis/docker-machine bash +``` + +## About certificates + +Docker Machine use the same certificates for all created machines, so if you want to share them (e.g. in CI) for connecting to machine created by you, create machine with option `--storage-path` with path specific for this specific machine, so it will create certificates only for this machine. + +Example: +``` +docker-machine --storage-path ~/.docker/machine/machines/citest/ create --driver digitalocean citest +```