сбой драйвера при программировании внешнего подключения на конечной точке redis: сбой привязки для 0.0.0.0:6379: порт уже выделен - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь запустить

/usr/bin/docker run --rm -v /var/data/redis:/data -v /var/data/conf/redis.conf:/usr/local/etc/redis/redis.conf --name redis -p 6379:6379 redis:5.0.3-alpine3.9

но я получаю:

/usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint redis (f16f19b7727a710fb6c96be566dac66ce26282982960d97faa28861c24fcf2fb): Bind for 0.0.0.0:6379 failed: port is already allocated.

Когда я пытаюсь проверить порты, используемые с netstat, я получаю:

[root@artik ~]# netstat -nlpute | grep 6379
tcp6       0      0 :::6379                 :::*                    LISTEN      0          14384       2471/docker-proxy

У меня сейчас нет докеров-контейнеров.

Я не понимаю этой проблемы, что мне делать?

[root@artik ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

1 Ответ

0 голосов
/ 21 июня 2019

Из вашего netstat вывода ясно, что существует один процесс, удерживающий порт 6379

[root@artik ~]# netstat -nlpute | grep 6379
tcp6       0      0 :::6379                 :::*                    LISTEN      0          14384       2471/docker-proxy

docker-proxy процессы создаются, когда вы выполняете переадресацию портов в docker run, что верно в вашемcase -p 6379:6379.

Для получения дополнительной информации о проверке docker-proxy this out.

Я подозреваю, что ранее вы запускали контейнер redis, который использовал порт 6379,но этот контейнер не был должным образом удален, в результате чего процесс docker-proxy работал, и, следовательно, вы получили port is already allocated

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...