2017-01-26 6 views
0

Есть ли способ открыть ряд портов при создании службы роуминга (например: -p 1024-2000:1024-2000)? Я знаю, что это возможно для контейнера, но возможно ли это также и для службы рой? Если да, я не могу найти, как это сделать в документации.Вывести диапазон портов в службе докеров

Мне нужна эта функция для предоставления услуги, содержащей vsftpd.

ответ

0

После публикации вопроса https://github.com/docker/docker/issues/30560 у меня был ответ, что эта функциональность была доступна в версии 1.13.

Для других, которые не могут перейти на эту версию, я написал сценарий Баш, который будет делать петлю, чтобы связать все порты:

expose_range(){ 
      p=""; 
      for i in `seq $1 $2`; 
      do 
      if [[ $3 != '--publish-rm' ]]; then 
       p="$p $3 $i:$i" 
      else 
       p="$p $3 $i" 
      fi 
      done 
      echo $p 
    } 
    command="docker service create --name vsftpd -p 2021:21 `expose_range ${vsftpd_port_min} ${vsftpd_port_max} '-p'` panubo/vsftpd" 
    eval $command