Невозможно запустить несколько экземпляров Docker OSRM, используя несколько портов - PullRequest
0 голосов
/ 12 ноября 2018

я пытаюсь создать OSRM Docker для 2 стран поэтому первые экземпляры я создал это как

sudo docker run -t -i  -p 192.168.0.2:5000:5000 -v $(pwd):/data osrm/osrm-backend osrm-routed --algorithm mld /data/great-latest.osm.pbf

Теперь я пытаюсь запустить 2-й экземпляр из другого каталога, такого как

sudo docker run -t -i -p 192.168.0.2:6000:6000  -v $(pwd):/data osrm/osrm-backend osrm-routed --algorithm mld /data/-latest.osm.pbf

но 2-й создает, как показано ниже, мне кажется, 2-й также ссылается на порт 5000, я вижу, что порт 6000 открыт, но он не требует подключения.

docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                  PORTS                                    NAMES
e5a1a2b3e040        osrm/osrm-backend                "osrm-routed --algor…"   14 seconds ago      Up 13 seconds           5000/tcp, 192.168.0.2:6000->6000/tcp   tender_elbakyan


c9ac75bdcea9        osrm/osrm-backend                "osrm-routed --algor…"   8 days ago          Up 8 days               192.168.0.2:5000->5000/tcp             awesome_murdock

netstat out put

tcp        0      0 192.168.0.2:6000      0.0.0.0:*               LISTEN


telnet  192.168.0.2 6000

я уверен, в прошлом это работало .. любая помощь будет действительно признательна

Спасибо

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Ваш второй вызов должен быть:

sudo docker run -t -i -p 192.168.0.2:6000:5000  -v $(pwd):/data osrm/osrm-backend osrm-routed --algorithm mld /data/-latest.osm.pbf

Служба внутри контейнера все еще прослушивает порт 5000, и вы сопоставляете порт хоста 6000 с портом контейнера 6000, который не прослушивается на стороне контейнера.

0 голосов
/ 12 ноября 2018

Последний номер порта в опции docker run -p - это номер порта внутри контейнера , который прослушивает сервер. Это обычно фиксируется для каждого изображения, и вы, вероятно, хотите, чтобы оно было 5000 в обоих случаях

sudo docker run -p 192.168.0.2:5000:5000 ...
sudo docker run -p 192.168.0.2:6000:5000 ...
...