Refactoring for using Docker behind a proxy

This commit is contained in:
Aric Renzo 2017-06-19 10:59:11 -04:00
parent ec5111949d
commit ad06197b55
3 changed files with 74 additions and 20 deletions

View File

@ -37,3 +37,13 @@ vagrant ssh n3 -c 'sudo /vagrant/join.sh /vagrant/example/vagrant-config.yaml'
```bash
docker build -t quay.io/attcomdev/promenade:experimental .
```
## Using Promenade Behind a Proxy
Modify the `genesis.sh` and `proxy.sh` scripts, passing in the URL and ports of the proxy server relative to the cluster hosts:
```bash
DOCKER_HTTP_PROXY="http://proxy.server.com:8080"
DOCKER_HTTPS_PROXY="https://proxy.server.com:8080"
DOCKER_NO_PROXY="localhost,127.0.0.1"
```

View File

@ -8,12 +8,15 @@ fi
set -ex
#Set working directory relative to script
SCRIPT_DIR=$(dirname $0)
pushd $SCRIPT_DIR
#Promenade Variables
DOCKER_PACKAGE="docker.io"
DOCKER_VERSION=1.12.6-0ubuntu1~16.04.1
#Proxy Variables - set only if deploying behind a proxy
DOCKER_HTTP_PROXY=""
DOCKER_HTTPS_PROXY=""
DOCKER_NO_PROXY=""
#Load Variables File
. variables.sh
mkdir -p /etc/docker
cat <<EOS > /etc/docker/daemon.json
@ -24,15 +27,34 @@ cat <<EOS > /etc/docker/daemon.json
EOS
#Configuration for Docker Behind a Proxy
if [ $USE_PROXY == true ]; then
mkdir -p /etc/systemd/system/docker.service.d
CreateProxyConfiguraton
fi
mkdir -p /etc/systemd/system/docker.service.d
#Set HTTPS Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=${DOCKER_HTTPS_PROXY}"
EOF
#Set HTTPS Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]
Environment="HTTPS_PROXY=${DOCKER_HTTPS_PROXY}"
EOF
#Set No Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/no-proxy.conf
[Service]
Environment="NO_PROXY=${DOCKER_NO_PROXY}"
EOF
#Reload systemd and docker if present
systemctl daemon-reload
systemctl restart docker || true
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y -qq --no-install-recommends \
docker.io=$DOCKER_VERSION \
$DOCKER_PACKAGE=$DOCKER_VERSION \
if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then

42
join.sh
View File

@ -8,12 +8,15 @@ fi
set -ex
#Set working directory relative to script
SCRIPT_DIR=$(dirname $0)
pushd $SCRIPT_DIR
#Promenade Variables
DOCKER_PACKAGE="docker.io"
DOCKER_VERSION=1.12.6-0ubuntu1~16.04.1
#Proxy Variables - set only if deploying behind a proxy
DOCKER_HTTP_PROXY=""
DOCKER_HTTPS_PROXY=""
DOCKER_NO_PROXY=""
#Load Variables File
. variables.sh
mkdir -p /etc/docker
cat <<EOS > /etc/docker/daemon.json
@ -24,15 +27,34 @@ cat <<EOS > /etc/docker/daemon.json
EOS
#Configuration for Docker Behind a Proxy
if [ $USE_PROXY == true ]; then
mkdir -p /etc/systemd/system/docker.service.d
CreateProxyConfiguraton
fi
mkdir -p /etc/systemd/system/docker.service.d
#Set HTTPS Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=${DOCKER_HTTPS_PROXY}"
EOF
#Set HTTPS Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]
Environment="HTTPS_PROXY=${DOCKER_HTTPS_PROXY}"
EOF
#Set No Proxy Variable
cat <<EOF > /etc/systemd/system/docker.service.d/no-proxy.conf
[Service]
Environment="NO_PROXY=${DOCKER_NO_PROXY}"
EOF
#Reload systemd and docker if present
systemctl daemon-reload
systemctl restart docker || true
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y -qq --no-install-recommends \
docker.io=$DOCKER_VERSION \
$DOCKER_PACKAGE=$DOCKER_VERSION \
if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then