package/docker-engine: introduce option to build CLI client 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. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
8273895a58
commit
8d060da530
@ -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
|
||||
|
@ -28,7 +28,12 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user