Move to adding files directly via cached ADD instead of via checksums and python http server
This commit is contained in:
@@ -2,35 +2,38 @@ RANDOM = $(shell bash -c 'echo $$RANDOM')
|
|||||||
HOME = $(DOCKER_HOME)
|
HOME = $(DOCKER_HOME)
|
||||||
BASE = $(HOME)/build
|
BASE = $(HOME)/build
|
||||||
FILE = $(BASE)/Dockerfile
|
FILE = $(BASE)/Dockerfile
|
||||||
|
TMP = /opt/tmp
|
||||||
FROM = ubuntu:trusty
|
FROM = ubuntu:trusty
|
||||||
INTERFACE = eth0
|
INTERFACE = eth0
|
||||||
PORT = 8000
|
PORT = 8000
|
||||||
MODE = normal
|
MODE = normal
|
||||||
ARGS = --rm=false# --no-cache
|
ARGS = --rm=false --no-cache=false
|
||||||
include $(wildcard $(HOME)/build/make/*.mk)
|
include $(wildcard $(HOME)/build/make/*.mk)
|
||||||
|
|
||||||
define download
|
define add
|
||||||
@$(eval MD5=$(shell md5sum $(HOME)/build/$(2) | awk '{print $$1}'))
|
@echo 'ADD $(1) $(2)' >> ${FILE}
|
||||||
@echo 'RUN wget -q $(1) $$HOST_ADDR:$$HOST_PORT/$(2) $(3) # $(MD5)' >> ${FILE}
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define execute
|
define execute
|
||||||
$(call download,-O -,$(1),| bash)
|
$(call add,$(1),$(2))
|
||||||
|
@echo 'RUN $(2)' >> ${FILE}
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define boot
|
define boot
|
||||||
$(call download,-O /opt/init.d/$(1)_$(2),boot/$(2).sh)
|
@$(eval TARGET := '/opt/init.d/$(1)_$(2)')
|
||||||
@echo 'RUN chmod +x /opt/init.d/$(1)_$(2)' >> ${FILE}
|
$(call add,boot/$(2).sh,$(TARGET))
|
||||||
|
@echo 'RUN chmod +x $(TARGET)' >> ${FILE}
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define runit
|
define runit
|
||||||
|
@$(eval TARGET := '/etc/service/$(1)/run')
|
||||||
|
$(call add,runit/$(1),$(TARGET))
|
||||||
@echo 'RUN mkdir -p /etc/service/$(1)' >> ${FILE}
|
@echo 'RUN mkdir -p /etc/service/$(1)' >> ${FILE}
|
||||||
$(call download,-O /etc/service/$(1)/run,runit/$(1))
|
@echo 'RUN chmod +x $(TARGET)' >> ${FILE}
|
||||||
@echo 'RUN chmod +x /etc/service/$(1)/run' >> ${FILE}
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define script
|
define script
|
||||||
$(call execute,scripts/$(1).sh)
|
$(call execute,scripts/$(1).sh,$(TMP)/$(1).sh)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
all: build bin service clean
|
all: build bin service clean
|
||||||
@@ -50,8 +53,8 @@ prepare:
|
|||||||
@echo ENV HOST_ADDR $(HOST_ADDR) >> ${FILE}
|
@echo ENV HOST_ADDR $(HOST_ADDR) >> ${FILE}
|
||||||
@echo ENV HOST_PORT $(PORT) >> ${FILE}
|
@echo ENV HOST_PORT $(PORT) >> ${FILE}
|
||||||
@echo 'RUN apt-get install -y wget' >> ${FILE}
|
@echo 'RUN apt-get install -y wget' >> ${FILE}
|
||||||
$(call download,-P /build,config)
|
$(call add,config,/build/config)
|
||||||
$(call download,-P /opt,init)
|
$(call add,init,/opt/init)
|
||||||
@echo 'RUN chmod +x /opt/init' >> ${FILE}
|
@echo 'RUN chmod +x /opt/init' >> ${FILE}
|
||||||
$(call script,prepare)
|
$(call script,prepare)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user