@@ -83,6 +83,7 @@ function docker_ops::create_imagerc {
8383 local image_short_name=${3?image_name not set}
8484 local image_tag=${4?image_tag not set}
8585 local image_registry=${5:- dockerhub}
86+ local image_platform=${6:- platform}
8687
8788 local image_name=" $( docker_ops::make_image_name $image_short_name $image_registry ) "
8889 local image_url=" $( docker_ops::make_image_url $image_short_name $image_tag $image_registry ) "
@@ -93,13 +94,15 @@ function docker_ops::create_imagerc {
9394 echo " export KUDU_DOCKER_IMAGE_NAME=\" ${image_name} \" " >> " ${image_dir} /${imagerc_filename} "
9495 echo " export KUDU_DOCKER_IMAGE_TAG=\" ${image_tag} \" " >> " ${image_dir} /${imagerc_filename} "
9596 echo " export KUDU_DOCKER_IMAGE_URL=\" ${image_url} \" " >> " ${image_dir} /${imagerc_filename} "
97+ echo " export KUDU_DOCKER_IMAGE_PLATFORM=\" ${image_platform} \" " >> " ${image_dir} /${imagerc_filename} "
9698
9799 echo " { " > " ${image_dir} /${imagerc_filename} .json"
98100 echo " \" docker_registry\" : \" ${image_registry} \" ," >> " ${image_dir} /${imagerc_filename} .json"
99101 echo " \" docker_image_short_name\" : \" ${image_short_name} \" ," >> " ${image_dir} /${imagerc_filename} .json"
100102 echo " \" docker_image_name\" : \" ${image_name} \" ," >> " ${image_dir} /${imagerc_filename} .json"
101103 echo " \" docker_image_tag\" : \" ${image_tag} \" ," >> " ${image_dir} /${imagerc_filename} .json"
102104 echo " \" docker_image_url\" : \" ${image_url} \" " >> " ${image_dir} /${imagerc_filename} .json"
105+ echo " \" docker_image_platform\" : \" ${image_platform} \" " >> " ${image_dir} /${imagerc_filename} .json"
103106 echo " }" >> " ${image_dir} /${imagerc_filename} .json"
104107
105108 echo " ---" > " ${image_dir} /${imagerc_filename} .yml"
@@ -108,6 +111,7 @@ function docker_ops::create_imagerc {
108111 echo " docker_image_name: \" ${image_name} \" " >> " ${image_dir} /${imagerc_filename} .yml"
109112 echo " docker_image_tag: \" ${image_tag} \" " >> " ${image_dir} /${imagerc_filename} .yml"
110113 echo " docker_image_url: \" ${image_url} \" " >> " ${image_dir} /${imagerc_filename} .yml"
114+ echo " docker_image_platform: \" ${image_platform} \" " >> " ${image_dir} /${imagerc_filename} .yml"
111115}
112116
113117function docker_ops::docker_build {
@@ -116,10 +120,12 @@ function docker_ops::docker_build {
116120 local image_short_name=${3?image_short_name not set}
117121 local image_tag=${4:- }
118122 local image_registry=${5:- dockerhub}
123+ local image_platform=${6:- }
119124
120125 docker_ops::log_info " image_dir set to: ${image_dir} "
121126 docker_ops::log_info " image_short_name set to: ${image_short_name} "
122127 docker_ops::log_info " imagerc_filename set to: ${imagerc_filename} "
128+ docker_ops::log_info " image_platform set to: ${image_platform} "
123129 initial_dir=" $( pwd) "
124130 cd " ${image_dir} "
125131 if [[ -z " ${image_tag} " ]]; then
@@ -131,9 +137,14 @@ function docker_ops::docker_build {
131137 local image_url=" $( docker_ops::make_image_url $image_short_name $image_tag $image_registry ) "
132138
133139 set -x -e
134- docker build ${docker_build_options} -t " ${image_url} " .
140+ if [[ -z " ${image_platform} " ]]; then
141+ docker_ops::log_info " image_platform was not set, not setting it further"
142+ docker build ${docker_build_options} -t " ${image_url} " .
143+ else
144+ docker build ${docker_build_options} --platform " ${image_platform} " -t " ${image_url} " .
145+ fi
135146 cd " ${initial_dir} "
136- docker_ops::create_imagerc " ${image_dir} " " ${imagerc_filename} " " ${image_short_name} " " ${image_tag} " " ${image_registry} "
147+ docker_ops::create_imagerc " ${image_dir} " " ${imagerc_filename} " " ${image_short_name} " " ${image_tag} " " ${image_registry} " " ${image_platform} "
137148}
138149
139150function docker_ops::source_imagerc {
0 commit comments