--- title: "自己的圖磚自己刻 docker 大法" tags: hackpad --- # 自己的圖磚自己刻 docker 大法 > [點此觀看原始內容](https://osmtw.hackpad.tw/2y0btHcBwhI) 自己的圖磚自己刻 docker 大法 Source: [https://github.com/OsmHackTW/openstreetmap-tiles-docker](https://github.com/OsmHackTW/openstreetmap-tiles-docker) 建立資料庫位置 ``` mkdir /tmp/osm-postgresql && chmod 777 /tmp/osm-postgresql wget -O /tmp/import.pbf http://download.geofabrik.de/asia/taiwan-latest.osm.pbf ``` 也吃 xml 檔案,但是用 pbf 速度會比較快。 **建立伺服器** ``` docker pull chihchun/openstreetmap-tiles-tw docker run -v /tmp/osm-postgresql:/var/lib/postgresql chihchun/openstreetmap-tiles-tw initdb startdb createuser createdb docker run -v /tmp/osm-postgresql:/var/lib/postgresql -v /tmp:/data chihchun/openstreetmap-tiles-tw startdb import docker run -P -v /tmp/osm-postgresql:/var/lib/postgresql chihchun/openstreetmap-tiles-tw startdb startservices docker run -p 127.0.0.1:8080:80 -P -v /tmp/osm-postgresql:/var/lib/postgresql chihchun/openstreetmap-tiles-tw startdb startservices ``` firefox [http://l](http://localhost/8080)[o](http://localhost/8080)[c](http://localhost/8080)[a](http://localhost/8080)[l](http://localhost/8080)[h](http://localhost/8080)[o](http://localhost/8080)[s](http://localhost/8080)[t](http://localhost/8080)[/](http://localhost/8080)[8](http://localhost/8080)[0](http://localhost/8080)[8](http://localhost/8080)[0](http://localhost/8080) 除錯 ``` cd /tmp docker run -p 127.0.0.1:8080:80 -v \`pwd\`/osm-postgresql:/var/lib/postgresql -v /tmp:/data -i -t chihchun/openstreetmap-tiles-tw cli /usr/local/sbin/run help /usr/local/sbin/run initdb /usr/local/sbin/run startdb /usr/local/sbin/run createuser /usr/local/sbin/run createdb /usr/local/sbin/run import /usr/local/sbin/run startservices ``` **TODO** - [x] 需要引入 all the spatial reference systems, [https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/2f2cfd15aca14c5ace588f7d08908f4c2a54220f](https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/2f2cfd15aca14c5ace588f7d08908f4c2a54220f) - [x] build local map [https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/f7eb6221f045f6b570dfb1e0bf62ceb4e4682b36](https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/f7eb6221f045f6b570dfb1e0bf62ceb4e4682b36) - [x] 需要寫好 import script. * added downlaod commands. · OsmHackTW/openstreetmap-tiles-docker@c18ac92 [https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/c18ac929920eff21186e400afd73376799159b36](https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/c18ac929920eff21186e400afd73376799159b36) - [x] 修正中文字形 \* uses more fonts, include unifont. · OsmHackTW/openstreetmap-tiles-docker@2e62152 [https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/2e62152f23937069a1496db0a21fc84ed92f2899](https://github.com/OsmHackTW/openstreetmap-tiles-docker/commit/2e62152f23937069a1496db0a21fc84ed92f2899) \* chihchun/openstreetmap-tiles Repository | Docker Hub Registry - Repositories of Docker Images [https://registry.hub.docker.com/u/chihchun/openstreetmap-tiles/](https://registry.hub.docker.com/u/chihchun/openstreetmap-tiles/) \* OsmHackTW/openstreetmap-tiles-docker [https://github.com/OsmHackTW/openstreetmap-tiles-docker](https://github.com/OsmHackTW/openstreetmap-tiles-docker)