$ export http_proxy=http://example.com:8080/
$ export https_proxy=$http_proxy
$ sudo -E sh -c "echo 'Acquire::http::proxy \"$http_proxy\";' >> /etc/apt/apt.conf"
$ sudo -E sh -c "echo 'Acquire::https::proxy \"$https_proxy\";' >> /etc/apt/apt.conf"
$ wget https://raw.githubusercontent.com/progrium/dokku/v0.4.3/bootstrap.sh
$ sudo -E DOKKU_TAG=v0.4.3 bash bootstrap.sh
$ sudo -E sh -c "echo 'export http_proxy=$http_proxy' >> /etc/default/docker"
$ sudo -E sh -c "echo 'export http_proxy=$https_proxy' >> /etc/default/docker"
$ sudo vim /etc/init/docker.conf
script
# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
DOCKER=/usr/bin/$UPSTART_JOB
DOCKER_OPTS=
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi
http_proxy="http://example.com:8080/"
https_proxy="http://example.com:8080/"
http_proxy=$http_proxy https_proxy=$https_proxy exec "$DOCKER" daemon $DOCKER_OPTS
end script
$ sudo vim /var/lib/core-plugins/available/00_dokku-standard/commands
build)
APP="$2"; IMAGE_SOURCE_TYPE="$3"; TMP_WORK_DIR="$4"; IMAGE=$(get_app_image_name $APP)
verify_app_name "$APP"
CACHE_DIR="$DOKKU_ROOT/$APP/cache"
eval "$(config_export app $APP)"
pushd "$TMP_WORK_DIR" &> /dev/null
case "$IMAGE_SOURCE_TYPE" in
herokuish)
id=$(tar -c . | docker run -i -a stdin $DOKKU_IMAGE /bin/bash -c "mkdir -p /app && tar -xC /app")
test "$(docker wait $id)" -eq 0
docker commit $id $IMAGE > /dev/null
[[ -d $CACHE_DIR ]] || mkdir $CACHE_DIR
plugn trigger pre-build-buildpack "$APP"
DOCKER_ARGS=$(: | plugn trigger docker-args-build $APP)
[[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" -e TRACE=true "
id=$(docker run -d -v $CACHE_DIR:/cache -e CACHE_PATH=/cache $DOCKER_ARGS $IMAGE /build)
docker attach $id
test "$(docker wait $id)" -eq 0
docker commit $id $IMAGE > /dev/null
plugn trigger post-build-buildpack "$APP"
;;
dockerfile)
# extract first port from Dockerfile
DOCKERFILE_PORT=$(get_dockerfile_exposed_port Dockerfile)
[[ -n "$DOCKERFILE_PORT" ]] && config_set --no-restart $APP DOKKU_DOCKERFILE_PORT=$DOCKERFILE_PORT
plugn trigger pre-build-dockerfile "$APP"
[[ "$DOKKU_DOCKERFILE_CACHE_BUILD" == "false" ]] && DOKKU_DOCKER_BUILD_OPTS="$DOKKU_DOCKER_BUILD_OPTS --no-cache"
DOCKER_ARGS=$(: | plugn trigger docker-args-build $APP)
http_proxy="http://wwwproxy.osakac.ac.jp:8080"
https_proxy="http://wwwproxy.osakac.ac.jp:8080"
/server/dockerfile_rewriter.sh http_proxy=$http_proxy https_proxy=$https_proxy
docker build --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy $DOCKER_ARGS $DOKKU_DOCKER_BUILD_OPTS -t "$IMAGE" .
plugn trigger post-build-dockerfile "$APP"
;;
*)
dokku_log_fail "Building image source type $IMAGE_SOURCE_TYPE not supported!"
;;
esac
;;