occlum/example/run_container.sh
2023-07-06 18:58:46 +08:00

62 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -e
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
grpc_domain=localhost
grpc_port=50051
pccs_url="https://localhost:8081/sgx/certification/v3/"
registry="demo"
tag="latest"
function usage {
cat << EOM
Run container images init_ra_server and tf_demo on background.
usage: $(basename "$0") [OPTION]...
-s <GRPC Server Domain> default localhost.
-p <GRPC Server port> default 50051.
-u <PCCS URL> default https://localhost:8081/sgx/certification/v3/.
-r <registry prefix> the registry for this demo container images.
-g <image tag> the container images tag, default it is "latest".
-h <usage> usage help
EOM
exit 0
}
function process_args {
while getopts ":s:p:u:r:g:h" option; do
case "${option}" in
s) grpc_domain=${OPTARG};;
p) grpc_port=${OPTARG};;
u) pccs_url=${OPTARG};;
r) registry=${OPTARG};;
g) tag=${OPTARG};;
h) usage;;
esac
done
}
process_args "$@"
echo "Start GRPC server on backgound ..."
docker run --network host \
--device /dev/sgx/enclave --device /dev/sgx/provision \
--env PCCS_URL=${pccs_url} \
${registry}/init_ra_server:${tag} \
occlum run /bin/server ${grpc_domain}:${grpc_port} &
sleep 3
echo "Start Tensorflow-Serving on backgound ..."
GRPC_SERVER="${grpc_domain}:${grpc_port}"
docker run --network host \
--device /dev/sgx/enclave --device /dev/sgx/provision \
--env PCCS_URL=${pccs_url} \
--env OCCLUM_INIT_RA_KMS_SERVER="${GRPC_SERVER}" \
${registry}/tf_demo:${tag} \
taskset -c 0,1 occlum run /bin/tensorflow_model_server \
--model_name=resnet --model_base_path=/models/resnet \
--port=9000 --ssl_config_file="/etc/tf_ssl.cfg" &