<#--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
-->

docker run -d \
        --memory=1024m \
        --name ${docker_container_name} \
        --env SCENARIO_NAME=${scenario_name} \
        --env SCENARIO_VERSION=${scenario_version}  \
        --env SCENARIO_SUPPORT_FRAMEWORK=${scenario_name} \
        <#if start_script??>
        --env SCENARIO_START_SCRIPT=${start_script} \
        </#if>
        --env SCENARIO_ENTRY_SERVICE=${entry_service} \
        --env SCENARIO_HEALTH_CHECK_URL=${health_check} \
        --env SCENARIO_EXTEND_ENTRY_HEADER=${extend_entry_header} \
        <#if catalina_opts??>
        --env CATALINA_OPTS=${catalina_opts} \
        </#if>
        <#if debug_mode??>
        --env DEBUG_MODE=${debug_mode} \
        </#if>
        -v ${agent_home}:/usr/local/skywalking/scenario/agent \
        -v ${scenario_home}:/usr/local/skywalking/scenario \
        -v ${jacoco_home}:/jacoco \
        ${docker_image_name}:${docker_image_version}

sleep 3

container_name=`docker ps -aqf "name=${docker_container_name}"`
<#noparse>
status=$(docker wait ${container_name})

if [[ -z ${container_name} ]]; then
    echo "docker startup failure!" >&2
    status=1
else
    [[ $status -ne 0 ]] && docker logs ${container_name} >&2
    docker logs ${container_name} >${SCENARIO_HOME}/logs/container.log
    docker container rm -f $container_name
fi
</#noparse>
