# *******************************************************************************
# * Copyright (c) 2019 Contributors to the Eclipse Foundation
# *
# * See the NOTICE file(s) distributed with this work for additional
# * information regarding copyright ownership.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Eclipse Public License v. 2.0 which is available at
# * http://www.eclipse.org/legal/epl-2.0.
# *
# * SPDX-License-Identifier: EPL-2.0
# *******************************************************************************
#
FROM openjdk:8-jre-alpine

ENV TZ Europe/Berlin

# install tzdata to set the right timezone
RUN apk add --no-cache tzdata

COPY /target/grid-failure-information.addressimport.service.jar /usr/src/cbd/
WORKDIR usr/src/cbd
CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.addressimport.service.jar"]