@@ -11,6 +11,11 @@ DOCKERFILE=${DOCKERFILE:-"$DOCKERFILE_PATH"}
11
11
LOCAL_MODULES=${LOCAL_MODULES:- " false" }
12
12
BUILD_DATE=$( date +%Y-%m-%dT%H:%M)
13
13
QUIET=${QUIET:- " false" }
14
+ CONTAINER_OS=${CONTAINER_OS:- " $( go env GOOS) " }
15
+
16
+ if [ " $CONTAINER_OS " == " darwin" ]; then
17
+ CONTAINER_OS=" linux"
18
+ fi
14
19
15
20
GOARCH=${GOARCH:- " $( go env GOARCH) " }
16
21
@@ -33,7 +38,7 @@ USAGE="
33
38
Usage:
34
39
$( basename " $0 " ) <aws_service>
35
40
36
- Builds the Docker image for an ACK service controller.
41
+ Builds the Docker image for an ACK service controller.
37
42
38
43
Example: $( basename " $0 " ) ecr
39
44
@@ -100,16 +105,17 @@ if [[ "$LOCAL_MODULES" = "true" ]]; then
100
105
DOCKERFILE=" ${ROOT_DIR} " /Dockerfile.local
101
106
fi
102
107
103
- if ! docker build \
108
+ if ! docker buildx build \
104
109
--quiet=" ${QUIET} " \
105
110
-t " ${AWS_SERVICE_DOCKER_IMG} " \
106
111
-f " ${DOCKERFILE} " \
112
+ --platform linux/amd64,linux/arm64,${CONTAINER_OS} /${GOARCH} \
113
+ --output=type=image \
107
114
--build-arg service_alias=" ${AWS_SERVICE} " \
108
115
--build-arg service_controller_git_version=" $SERVICE_CONTROLLER_GIT_VERSION " \
109
116
--build-arg service_controller_git_commit=" $SERVICE_CONTROLLER_GIT_COMMIT " \
110
117
--build-arg build_date=" $BUILD_DATE " \
111
118
--build-arg golang_version=" ${GOLANG_VERSION} " \
112
- --build-arg go_arch=" $GOARCH " \
113
119
" ${DOCKER_BUILD_CONTEXT} " ; then
114
120
exit 2
115
121
fi
0 commit comments