1. south-korea-latest.osm.pbf 파일이 있는 디렉터리에서 다음 명령어를 실행한다.

# 맥북 실리콘 칩을 사용하면 --platform linux/amd64를 넣어줘야합니다.
# 지금 foot옵션을 넣었지만 car,bicycle을 넣으면 옵션 변경이 가능합니다.
docker run --platform linux/amd64 -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/foot.lua /data/south-korea-latest.osm.pbf

2. 추출된 데이터로 전처리

docker run --platform linux/amd64 -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/south-korea-latest.osrm
docker run --platform linux/amd64 -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/south-korea-latest.osrm

3. HTTP 서버 실행

docker run --platform linux/amd64 -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/south-korea-latest.osrm
docker run -t -i -p 8080:8080 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/south-korea-latest.osrm
docker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm

4. HTTP 요청 보내기 (프런트분들 확인)

curl '<http://localhost:5000/route/v1/foot/126.3731575012207,33.38400957065941;126.33230209350586,33.38429624518?steps=true>'
인천대 -> CGV
curl '<http://localhost:5000/route/v1/foot/126.63486162967031,37.376924147295455;126.64251548843,37.38308798021501>'
curl '<http://192.168.0.6:8080/route/v1/foot/126.3731575012207,33.38400957065941;126.33230209350586,33.38429624518>'
ipconfig getifaddr en0

현재 ip주소를 찾아서 들어가기

<aside> 💡 주의점 ! (맥 실리콘) docker container에서 curl 명령문 실행 안될 경우 echo "deb <http://archive.debian.org/debian> stretch main contrib non-free" > /etc/apt/sources.list

sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list

sed -i s/security.debian.org/archive.debian.org/g /etc/apt/sources.list

apt update

apt install curl

</aside>

curl <http://0.0.0.0:8080/route/v1/foot/126.3731575012207,33.38400957065941;126.33230209350586,33.38429624518>

<aside> 💡 참고사항 (프런트분들 참고)

스크린샷 2023-09-18 오후 9.00.23.png

OSRM API Documentation

</aside>

5. 결과확인

## 직접 해당 컨테이너 안으로 들어가서 확인하는 방법

docker ps

docker exec -it {container id} /bin/bash