gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 819 forks source link

docker-compose up kosmtik does not build automatically the image #3907

Open ThomasG77 opened 4 years ago

ThomasG77 commented 4 years ago

Expected behavior

Following the Docker recipe from https://github.com/gravitystorm/openstreetmap-carto/blob/master/DOCKER.md#quick-start, I've been able to import the database and I expect docker-compose up kosmtik to "work"

Actual behavior

When I run docker-compose up kosmtik, I get the following return

Starting openstreetmap-carto_db_1 ... done
Starting openstreetmap-carto_kosmtik_1 ... done
Attaching to openstreetmap-carto_kosmtik_1
openstreetmap-carto_kosmtik_1 exited with code 0

Executing docker-compose up --build kosmtik solves the issue. It seems that running docker-compose up kosmtik for the first time does not execute the build. If you confirm, I can make a PR to mention the issue.

matthijsmelissen commented 4 years ago

I cannot confirm this issue.

jeisenbe commented 4 years ago

@ThomasG77 what operating system and version of Docker did you try?

ThomasG77 commented 4 years ago

Docker version 19.03.2, build 6a30dfc on Ubuntu 18.04 64 bits

jeisenbe commented 4 years ago

Interesting: I just found a similar error when trying to use docker-compose run -e OSM2PGSQL_DATAFILE=data.osm.pbf import which was fixed by using docker-compose up --build import first. It happened after I tried to render from the branch https://github.com/imagico/osm-carto-alternative-colors.git but still happened after switching back to our master branch and restarting the OS.

I'm using MacOS 10.13.6 and docker desktop 2.1.0.3 (38240) with Docker Engine 19.03.2 and Compose 1.24.1

Messages were:

Starting openstreetmap-carto_db_1 ... done
Waiting for PostgreSQL to be running
Timeout while waiting for PostgreSQL to be running
psql: could not translate host name "db" to address: Name or service not known
createdb: could not connect to database template1: could not translate host name "db" to address: Name or service not known
osm2pgsql version 0.96.0 (64 bit id space)

Using lua based tag processing pipeline with script openstreetmap-carto.lua
Using projection SRS 3857 (Spherical Mercator)
Osm2pgsql failed due to ERROR: Connection to database failed: could not translate host name "db" to address: Name or service not known

However, docker-compose up kosmtik still works fine for me now.

@matthijsmelissen how do we test this properly? Do I need to kill or rm the current docker containers and images, and rebuild everything?

jeisenbe commented 4 years ago

I again tried docker image rm <kosmitik_image_id> to remove the existing kosmtik container, and used docker-compose up kosmtik - but this worked fine for me (This was when I switched back to the current master branch after testing the unpaved rendering), so I'm not able to confirm this issue. However, occasionally Docker fails in odd ways on my system.

@ThomasG77 has this issue happened more than once? If you use docker image ls to find the image id and then docker image rm <image_id>, does docker-compose up kosmtik work now, or does it still fail?