mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
0682468431
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>
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"
|
|
|