diff --git a/docker-orchestration/osrm-backend/Dockerfile b/docker-orchestration/osrm-backend/Dockerfile index eb7519254..040ae0923 100644 --- a/docker-orchestration/osrm-backend/Dockerfile +++ b/docker-orchestration/osrm-backend/Dockerfile @@ -46,6 +46,10 @@ COPY --from=gobuilder /workspace/go/bin /osrm-build/ COPY ./docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh +# for shown on runtime +ARG IMAGE_TAG +ENV IMAGE_TAG ${IMAGE_TAG} + EXPOSE 5000 ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/docker-orchestration/osrm-backend/docker-entrypoint.sh b/docker-orchestration/osrm-backend/docker-entrypoint.sh index 48747b029..92f4e6979 100755 --- a/docker-orchestration/osrm-backend/docker-entrypoint.sh +++ b/docker-orchestration/osrm-backend/docker-entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash -x BUILD_PATH=${BUILD_PATH:="/osrm-build"} DATA_PATH=${DATA_PATH:="/osrm-data"} -OSRM_EXTRA_COMMAND="-l --verbosity" +OSRM_EXTRA_COMMAND="-l DEBUG" MAPDATA_NAME_WITH_SUFFIX=map _sig() { @@ -29,8 +29,15 @@ elif [ "$1" = 'compile_mapdata' ]; then KEEP_COMPILED_DATA=${3:-"false"} GENERATE_DATA_PACKAGE=${4:-"false"} + # use PBF file name + IMAGE_TAG as data_version which can be returned in each JSON response + DATA_VERSION=`echo ${PBF_FILE_URL} | rev | cut -d / -f 1 | rev` + if [ x${IMAGE_TAG} != x ]; then + DATA_VERSION=${DATA_VERSION}--compiled-by-${IMAGE_TAG} + fi + echo ${DATA_VERSION} + curl ${PBF_FILE_URL} > $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osm.pbf - ${BUILD_PATH}/osrm-extract $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osm.pbf -p ${BUILD_PATH}/profiles/car.lua ${OSRM_EXTRA_COMMAND} + ${BUILD_PATH}/osrm-extract $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osm.pbf -p ${BUILD_PATH}/profiles/car.lua -d ${DATA_VERSION} ${OSRM_EXTRA_COMMAND} ${BUILD_PATH}/osrm-partition $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osrm ${OSRM_EXTRA_COMMAND} ${BUILD_PATH}/osrm-customize $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osrm ${OSRM_EXTRA_COMMAND} diff --git a/docker-orchestration/osrm-backend/example-berlin-osm.md b/docker-orchestration/osrm-backend/example-berlin-osm.md index 49c8bca52..3695f873f 100644 --- a/docker-orchestration/osrm-backend/example-berlin-osm.md +++ b/docker-orchestration/osrm-backend/example-berlin-osm.md @@ -2,13 +2,13 @@ - Generate docker image ```bash -$ DOCKER_BUILDKIT=1 docker build --no-cache -t telenav/osrm-backend:compile-data-inside-docker --build-arg BRANCH_NAME=feature/compile-data-inside-docker . +$ DOCKER_BUILDKIT=1 docker build --no-cache -t telenav/osrm-backend:master-telenav --build-arg BRANCH_NAME=master-telenav --build-arg IMAGE_TAG=master-telenav-20190620 . ``` - Generate OSRM data ```bash $ mkdir -p compiled-data -$ docker run -it --mount "src=$(pwd)/compiled-data,dst=/save-data,type=bind" telenav/osrm-backend:compile-data-inside-docker compile_mapdata "https://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf" false true +$ docker run -it --mount "src=$(pwd)/compiled-data,dst=/save-data,type=bind" telenav/osrm-backend:master-telenav compile_mapdata "https://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf" false true $ ll compiled-data/ total 34968 -rw-r--r-- 1 root root 35805710 Jun 17 23:34 map.tar.gz @@ -18,7 +18,7 @@ total 34968 ```bash $ cd compiled-data $ tar -zxf map.tar.gz -$ docker run -d -p 5000:5000 --mount "src=$(pwd),dst=/osrm-data,type=bind" --name osrm-api telenav/osrm-backend:compile-data-inside-docker routed_startup +$ docker run -d -p 5000:5000 --mount "src=$(pwd),dst=/osrm-data,type=bind" --name osrm-api telenav/osrm-backend:master-telenav routed_startup 05227a108a66e7c59f7515f8f174a65f9932f36fe3807f83991806c0194a7e50 ``` You should see such logs in docker