d28a8673b5
This reduces memory usage with a lot of docker proxy processes.
On Docker for Mac we are currently carrying a patch to replace
the binary as we modify it to forward ports to the Mac rather
than the Linux VM, this allows us to simply replace this binary
in our packaging with one that has a compatible interface. This
patch does not provide an easy way to substitute a binary as
the interface is complex and there are few use cases, but where
needed this can be done.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit 0682468431
)
Signed-off-by: Tibor Vass <tibor@docker.com>
68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
BINARY_NAME="dockerd-$VERSION"
|
|
BINARY_EXTENSION="$(binary_extension)"
|
|
BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION"
|
|
|
|
PROXY_NAME="docker-proxy-$VERSION"
|
|
PROXY_FULLNAME="$PROXY_NAME$BINARY_EXTENSION"
|
|
|
|
CLIENTBIN_NAME="docker-$VERSION"
|
|
CLIENTBIN_FULLNAME="$CLIENTBIN_NAME$BINARY_EXTENSION"
|
|
|
|
source "${MAKEDIR}/.go-autogen"
|
|
|
|
if [[ "${BUILDFLAGS[@]}" =~ 'netgo ' ]]; then
|
|
EXTLDFLAGS_STATIC+=' -lnetgo'
|
|
fi
|
|
# gccgo require explicit flag -pthread to allow goroutines to work.
|
|
go build -compiler=gccgo \
|
|
-o "$DEST/$BINARY_FULLNAME" \
|
|
"${BUILDFLAGS[@]}" \
|
|
-gccgoflags "
|
|
-g
|
|
$EXTLDFLAGS_STATIC
|
|
-Wl,--no-export-dynamic
|
|
-ldl
|
|
-pthread
|
|
" \
|
|
./cmd/dockerd
|
|
|
|
echo "Created binary: $DEST/$BINARY_FULLNAME"
|
|
ln -sf "$BINARY_FULLNAME" "$DEST/dockerd$BINARY_EXTENSION"
|
|
|
|
go build -compiler=gccgo \
|
|
-o "$DEST/$PROXY_FULLNAME" \
|
|
"${BUILDFLAGS[@]}" \
|
|
-gccgoflags "
|
|
-g
|
|
$EXTLDFLAGS_STATIC
|
|
-Wl,--no-export-dynamic
|
|
-ldl
|
|
-pthread
|
|
" \
|
|
./vendor/src/github.com/docker/libnetwork/cmd/proxy
|
|
|
|
echo "Created binary: $DEST/$PROXY_FULLNAME"
|
|
ln -sf "$PROXY_FULLNAME" "$DEST/docker-proxy$BINARY_EXTENSION"
|
|
|
|
copy_containerd "$DEST" "hash"
|
|
hash_files "$DEST/$BINARY_FULLNAME"
|
|
|
|
go build -compiler=gccgo \
|
|
-o "$DEST/$CLIENTBIN_FULLNAME" \
|
|
"${BUILDFLAGS[@]}" \
|
|
-gccgoflags "
|
|
-g
|
|
$EXTLDFLAGS_STATIC
|
|
-Wl,--no-export-dynamic
|
|
-ldl
|
|
-pthread
|
|
" \
|
|
./cmd/docker
|
|
|
|
echo "Created binary: $DEST/$CLIENTBIN_FULLNAME"
|
|
ln -sf "$CLIENTBIN_FULLNAME" "$DEST/docker$BINARY_EXTENSION"
|
|
hash_files "$DEST/$CLIENTBIN_FULLNAME"
|
|
|