package/docker-engine: introduce static cli toggle
PATCH 1/1 package/docker-engine: introduce static cli toggle
Adds an option to compile the docker CLI statically.
This is useful when bind-mounting the docker client binary into containers for a docker-in-docker setup.
The Docker CLI communicates with the daemon over a socket. It is sometimes useful to bind-mount the Docker CLI and socket into containers at run-time, so that scripts within the containers can call the Docker API in the host using a client compatible with the host daemon.
--- package/docker-engine/Config.in | 6 ++++++ package/docker-engine/docker-engine.mk | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-)
package/docker-engine/Config.in +6 -0
@@ -25,6 +25,12 @@ config BR2_PACKAGE_DOCKER_ENGINE_DAEMON config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL bool "build experimental features" +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "build static client" + depends on !BR2_STATIC_LIBS + help + Build a static docker client. + if BR2_PACKAGE_DOCKER_ENGINE_DAEMON config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS
package/docker-engine/docker-engine.mk +6 -1
@@ -28,8 +28,13 @@ DOCKER_ENGINE_GLDFLAGS = \ ifeq ($(BR2_STATIC_LIBS),y) DOCKER_ENGINE_GLDFLAGS += -extldflags '-static' +else +ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y) +DOCKER_ENGINE_GLDFLAGS_DOCKER += -extldflags '-static' +endif endif + DOCKER_ENGINE_BUILD_TAGS = cgo exclude_graphdriver_zfs autogen DOCKER_ENGINE_BUILD_TARGETS = docker
@@ -100,7 +105,7 @@ define DOCKER_ENGINE_BUILD_CMDS $(HOST_DIR)/usr/bin/go build -v \ -o $(@D)/bin/$(target) \ -tags "$(DOCKER_ENGINE_BUILD_TAGS)" \ - -ldflags "$(DOCKER_ENGINE_GLDFLAGS)" \ + -ldflags "$(DOCKER_ENGINE_GLDFLAGS) $(DOCKER_ENGINE_GLDFLAGS_$(call UPPERCASE,$(target)))" \ github.com/docker/docker/cmd/$(target) ) endef
Signature · 1 line
2.10.2
Thomas Petazzoni
AppliedPATCH 1/1 package/docker-engine: introduce static cli toggle
Hello,
Quoted 10 lines · Christian Stewart
Adds an option to compile the docker CLI statically.
This is useful when bind-mounting the docker client binary into containers for a docker-in-docker setup.
The Docker CLI communicates with the daemon over a socket. It is sometimes useful to bind-mount the Docker CLI and socket into containers at run-time, so that scripts within the containers can call the Docker API in the host using a client compatible with the host daemon.
Quoted 5 lines
Signed-off-by Christian Stewart <[email protected]>--- package/docker-engine/Config.in | 6 ++++++ package/docker-engine/docker-engine.mk | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com