mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-18 12:59:31 +00:00
Squash docker layers to make the scope image fetch nicer.
This commit is contained in:
23
Makefile
23
Makefile
@@ -1,8 +1,8 @@
|
||||
.PHONY: all static clean
|
||||
.PHONY: all deps static clean
|
||||
|
||||
# If you can use Docker without being root, you can `make SUDO= <target>`
|
||||
SUDO=sudo
|
||||
|
||||
DOCKER_SQUASH=$(shell which docker-squash)
|
||||
DOCKERHUB_USER=weaveworks
|
||||
APP_EXE=app/app
|
||||
PROBE_EXE=probe/probe
|
||||
@@ -10,14 +10,14 @@ FIXPROBE_EXE=experimental/fixprobe/fixprobe
|
||||
SCOPE_IMAGE=$(DOCKERHUB_USER)/scope
|
||||
SCOPE_EXPORT=scope.tar
|
||||
SCOPE_UI_BUILD_EXPORT=scope_ui_build.tar
|
||||
SCOPE_UI_BUILD_IMAGE=weave/scope-ui-build
|
||||
SCOPE_UI_BUILD_IMAGE=$(DOCKERHUB_USER)/scope-ui-build
|
||||
|
||||
all: $(SCOPE_EXPORT)
|
||||
|
||||
$(SCOPE_EXPORT): $(APP_EXE) $(PROBE_EXE) docker/*
|
||||
cp $(APP_EXE) $(PROBE_EXE) docker/
|
||||
$(SUDO) docker build -t $(SCOPE_IMAGE) docker/
|
||||
$(SUDO) docker save $(SCOPE_IMAGE):latest > $@
|
||||
$(SUDO) docker save $(SCOPE_IMAGE):latest | $(SUDO) $(DOCKER_SQUASH) -t $(SCOPE_IMAGE) | tee $@ | $(SUDO) docker load
|
||||
|
||||
$(APP_EXE): app/*.go report/*.go xfer/*.go
|
||||
|
||||
@@ -30,16 +30,23 @@ $(APP_EXE) $(PROBE_EXE):
|
||||
static: client/dist/scripts/bundle.js
|
||||
esc -o app/static.go -prefix client/dist client/dist
|
||||
|
||||
$(SCOPE_UI_BUILD_EXPORT): client/Dockerfile client/gulpfile.js client/package.json
|
||||
docker build -t $(SCOPE_UI_BUILD_IMAGE) client
|
||||
docker save $(SCOPE_UI_BUILD_IMAGE):latest > $@
|
||||
|
||||
client/dist/scripts/bundle.js: client/app/scripts/*
|
||||
mkdir -p client/dist
|
||||
docker run -ti -v $(shell pwd)/client/app:/home/weave/app \
|
||||
-v $(shell pwd)/client/dist:/home/weave/dist \
|
||||
$(SCOPE_UI_BUILD_IMAGE)
|
||||
|
||||
$(SCOPE_UI_BUILD_EXPORT): client/Dockerfile client/gulpfile.js client/package.json
|
||||
docker build -t $(SCOPE_UI_BUILD_IMAGE) client
|
||||
docker save $(SCOPE_UI_BUILD_IMAGE):latest > $@
|
||||
|
||||
clean:
|
||||
go clean ./...
|
||||
rm -rf $(SCOPE_EXPORT) $(SCOPE_UI_BUILD_EXPORT) client/dist
|
||||
|
||||
deps:
|
||||
go get github.com/jwilder/docker-squash \
|
||||
github.com/golang/lint/golint \
|
||||
github.com/fzipp/gocyclo \
|
||||
github.com/mattn/goveralls \
|
||||
github.com/mjibson/esc
|
||||
|
||||
@@ -16,6 +16,7 @@ dependencies:
|
||||
cache_directories:
|
||||
- "~/docker"
|
||||
override:
|
||||
- sudo apt-get --only-upgrade install tar
|
||||
- if [[ -e "$SCOPE_UI_BUILD" ]]; then
|
||||
docker load -i $SCOPE_UI_BUILD;
|
||||
else
|
||||
@@ -26,10 +27,7 @@ dependencies:
|
||||
post:
|
||||
- go clean -i net
|
||||
- go install -tags netgo std
|
||||
- go get github.com/golang/lint/golint
|
||||
- go get github.com/fzipp/gocyclo
|
||||
- go get github.com/mattn/goveralls
|
||||
- go get github.com/mjibson/esc
|
||||
- make deps
|
||||
- mkdir -p $(dirname $SRCDIR)
|
||||
- cp -r $(pwd)/ $SRCDIR
|
||||
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
FROM gliderlabs/alpine
|
||||
MAINTAINER Weaveworks Inc <help@weave.works>
|
||||
WORKDIR /home/weave
|
||||
ADD ./app /home/weave/
|
||||
ADD ./probe /home/weave/
|
||||
ADD ./entrypoint.sh /home/weave/
|
||||
ADD ./run-app /etc/service/app/run
|
||||
ADD ./run-probe /etc/service/probe/run
|
||||
|
||||
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing" >>/etc/apk/repositories && apk add --update runit
|
||||
|
||||
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing" >>/etc/apk/repositories && \
|
||||
apk add --update runit && \
|
||||
rm -rf /var/cache/apk/*
|
||||
COPY ./app ./probe ./entrypoint.sh /home/weave/
|
||||
COPY ./run-app /etc/service/app/run
|
||||
COPY ./run-probe /etc/service/probe/run
|
||||
EXPOSE 4040
|
||||
ENTRYPOINT ["/home/weave/entrypoint.sh"]
|
||||
|
||||
Reference in New Issue
Block a user