Use buildx to build images
Signed-off-by: Kevin Su <pingsutw@apache.org>
diff --git a/.github/workflows/deploy_docker_images.yml b/.github/workflows/deploy_docker_images.yml
index 849f491..d529ff9 100644
--- a/.github/workflows/deploy_docker_images.yml
+++ b/.github/workflows/deploy_docker_images.yml
@@ -50,52 +50,32 @@
- name: Build with Maven
run: mvn clean install -DskipTests
- - name: Build submarine server
+ - name: Build and push submarine server
run: ./dev-support/docker-images/submarine/build.sh
- - name: Push submarine-server docker image
- run: docker push apache/submarine:server-$SUBMARINE_VERSION
- - name: Build submarine agent
+ - name: Build and push submarine agent
run: ./dev-support/docker-images/agent/build.sh
- - name: Push submarine-agent docker image
- run: docker push apache/submarine:agent-$SUBMARINE_VERSION
- - name: Build submarine database
+ - name: Build and push submarine database
run: ./dev-support/docker-images/database/build.sh
- - name: Push submarine-database docker image
- run: docker push apache/submarine:database-$SUBMARINE_VERSION
- - name: Build submarine jupyter
+ - name: Build and push submarine jupyter
run: ./dev-support/docker-images/jupyter/build.sh
- - name: Push submarine-jupyter docker image
- run: docker push apache/submarine:jupyter-notebook-$SUBMARINE_VERSION
- - name: Build submarine jupyter gpu
+ - name: Build and push submarine jupyter gpu
run: ./dev-support/docker-images/jupyter-gpu/build.sh
- - name: Push submarine-jupyter-gpu docker image
- run: docker push apache/submarine:jupyter-notebook-gpu-$SUBMARINE_VERSION
- - name: Build submarine operator
+ - name: Build and push submarine operator
run: ./dev-support/docker-images/operator-v3/build.sh
- - name: Push submarine-operator docker image
- run: docker push apache/submarine:operator-$SUBMARINE_VERSION
- - name: Build submarine mlflow
+ - name: Build and push submarine mlflow
run: ./dev-support/docker-images/mlflow/build.sh
- - name: Push submarine-mlflow docker image
- run: docker push apache/submarine:mlflow-$SUBMARINE_VERSION
- - name: Build submarine serve
+ - name: Build and push submarine serve
run: ./dev-support/docker-images/serve/build.sh
- - name: Push submarine-serve docker image
- run: docker push apache/submarine:serve-$SUBMARINE_VERSION
- - name: Build submarine quickstart
+ - name: Build and push submarine quickstart
run: ./dev-support/examples/quickstart/build.sh
- - name: Push submarine quickstart docker image
- run: docker push apache/submarine:quickstart-$SUBMARINE_VERSION
- - name: Build submarine cicd
+ - name: Build and push submarine cicd
run: ./dev-support/cicd/build.sh
- - name: Push submarine-cicd docker image
- run: docker push apache/submarine:cicd-$SUBMARINE_VERSION
diff --git a/dev-support/cicd/build.sh b/dev-support/cicd/build.sh
index 3fb7e4b..2afd37e 100755
--- a/dev-support/cicd/build.sh
+++ b/dev-support/cicd/build.sh
@@ -29,4 +29,4 @@
# build image
echo "Start building the ${IMAGE} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${IMAGE} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${IMAGE} .
diff --git a/dev-support/docker-images/agent/build.sh b/dev-support/docker-images/agent/build.sh
index 5330f63..5e8639e 100755
--- a/dev-support/docker-images/agent/build.sh
+++ b/dev-support/docker-images/agent/build.sh
@@ -44,7 +44,7 @@
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/docker-images/database/build.sh b/dev-support/docker-images/database/build.sh
index 1cae447..d0bf35c 100755
--- a/dev-support/docker-images/database/build.sh
+++ b/dev-support/docker-images/database/build.sh
@@ -32,7 +32,7 @@
# build image
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean template file
rm -rf ${CURRENT_PATH}/database
diff --git a/dev-support/docker-images/experiment-prehandler/build.sh b/dev-support/docker-images/experiment-prehandler/build.sh
index c1e94a3..a372341 100755
--- a/dev-support/docker-images/experiment-prehandler/build.sh
+++ b/dev-support/docker-images/experiment-prehandler/build.sh
@@ -39,12 +39,12 @@
curl -L -o $tmpfile ${HADOOP_TAR_URL}
mv $tmpfile ${CURRENT_PATH}/tmp/hadoop-3.3.3.tar.gz
-curl -L -o ${CURRENT_PATH}/tmp/hadoop-aws-3.3.3.jar https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/3.3.3/hadoop-aws-3.3.3.jar
+curl -L -o ${CURRENT_PATH}/tmp/hadoop-aws-3.3.3.jar https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/3.3.3/hadoop-aws-3.3.3.jar
curl -L -o ${CURRENT_PATH}/tmp/aws-java-sdk-bundle-1.12.267.jar https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-bundle/1.12.267/aws-java-sdk-bundle-1.12.267.jar
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/docker-images/jupyter-gpu/build.sh b/dev-support/docker-images/jupyter-gpu/build.sh
index 036bb42..04ea42b 100755
--- a/dev-support/docker-images/jupyter-gpu/build.sh
+++ b/dev-support/docker-images/jupyter-gpu/build.sh
@@ -29,4 +29,4 @@
# build image
echo "Start building the ${JUPYTER_IMAGE} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${JUPYTER_IMAGE} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${JUPYTER_IMAGE} .
diff --git a/dev-support/docker-images/jupyter/build.sh b/dev-support/docker-images/jupyter/build.sh
index b1d24a8..0028cf8 100755
--- a/dev-support/docker-images/jupyter/build.sh
+++ b/dev-support/docker-images/jupyter/build.sh
@@ -29,4 +29,4 @@
# build image
echo "Start building the ${JUPYTER_IMAGE} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${JUPYTER_IMAGE} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${JUPYTER_IMAGE} .
diff --git a/dev-support/docker-images/mlflow/build.sh b/dev-support/docker-images/mlflow/build.sh
index 4a00c5d..b6d014f 100755
--- a/dev-support/docker-images/mlflow/build.sh
+++ b/dev-support/docker-images/mlflow/build.sh
@@ -29,4 +29,4 @@
# build image
echo "Start building the ${MLFLOW_IMAGE} docker image ..."
cd ${CURRENT_PATH}
-docker build -t ${MLFLOW_IMAGE} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${MLFLOW_IMAGE} .
diff --git a/dev-support/docker-images/operator-v3/build.sh b/dev-support/docker-images/operator-v3/build.sh
index eca60d9..3e50eb1 100755
--- a/dev-support/docker-images/operator-v3/build.sh
+++ b/dev-support/docker-images/operator-v3/build.sh
@@ -32,7 +32,7 @@
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/docker-images/operator/build.sh b/dev-support/docker-images/operator/build.sh
index 1320526..9737c04 100755
--- a/dev-support/docker-images/operator/build.sh
+++ b/dev-support/docker-images/operator/build.sh
@@ -32,7 +32,7 @@
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/docker-images/serve/build.sh b/dev-support/docker-images/serve/build.sh
index d8cc6a1..d6ed967 100755
--- a/dev-support/docker-images/serve/build.sh
+++ b/dev-support/docker-images/serve/build.sh
@@ -30,4 +30,4 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
diff --git a/dev-support/docker-images/submarine/build.sh b/dev-support/docker-images/submarine/build.sh
index 56b6720..01c450d 100755
--- a/dev-support/docker-images/submarine/build.sh
+++ b/dev-support/docker-images/submarine/build.sh
@@ -59,7 +59,7 @@
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/mnist-pytorch/DDP/build.sh b/dev-support/examples/mnist-pytorch/DDP/build.sh
index 6a59a97..5edfd85 100755
--- a/dev-support/examples/mnist-pytorch/DDP/build.sh
+++ b/dev-support/examples/mnist-pytorch/DDP/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/mnist-tensorflow/MirroredStrategy/build.sh b/dev-support/examples/mnist-tensorflow/MirroredStrategy/build.sh
index 977c190..7370351 100755
--- a/dev-support/examples/mnist-tensorflow/MirroredStrategy/build.sh
+++ b/dev-support/examples/mnist-tensorflow/MirroredStrategy/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/mnist-tensorflow/MultiWorkerMirroredStrategy/build.sh b/dev-support/examples/mnist-tensorflow/MultiWorkerMirroredStrategy/build.sh
index bd401bd..7498544 100755
--- a/dev-support/examples/mnist-tensorflow/MultiWorkerMirroredStrategy/build.sh
+++ b/dev-support/examples/mnist-tensorflow/MultiWorkerMirroredStrategy/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/mnist-tensorflow/ParameterServerStrategy/build.sh b/dev-support/examples/mnist-tensorflow/ParameterServerStrategy/build.sh
index c140893..a0c937a 100755
--- a/dev-support/examples/mnist-tensorflow/ParameterServerStrategy/build.sh
+++ b/dev-support/examples/mnist-tensorflow/ParameterServerStrategy/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/nn-pytorch/build.sh b/dev-support/examples/nn-pytorch/build.sh
index d394f44..2b08d81 100755
--- a/dev-support/examples/nn-pytorch/build.sh
+++ b/dev-support/examples/nn-pytorch/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/quickstart/build.sh b/dev-support/examples/quickstart/build.sh
index cdf99af..23afe6c 100755
--- a/dev-support/examples/quickstart/build.sh
+++ b/dev-support/examples/quickstart/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/examples/tracking/build.sh b/dev-support/examples/tracking/build.sh
index 912a222..28f7e8f 100755
--- a/dev-support/examples/tracking/build.sh
+++ b/dev-support/examples/tracking/build.sh
@@ -38,7 +38,7 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .
# clean temp file
rm -rf "${CURRENT_PATH}/tmp"
diff --git a/dev-support/misc/flask/build.sh b/dev-support/misc/flask/build.sh
index 0723312..d21ab54 100755
--- a/dev-support/misc/flask/build.sh
+++ b/dev-support/misc/flask/build.sh
@@ -30,4 +30,4 @@
# build image
cd ${CURRENT_PATH}
echo "Start building the ${SUBMARINE_IMAGE_NAME} docker image ..."
-docker build -t ${SUBMARINE_IMAGE_NAME} .
+docker buildx build --push --platform linux/amd64,linux/arm64 -t ${SUBMARINE_IMAGE_NAME} .