Я начал изучать докер и использую его на Linux ubuntuserver 4.15.0-34-generic.Я создал контейнер с помощью этой команды:
sudo docker run -d --privileged --name FBSServer --hostname BACKUPSERVER --restart=always -p 4530:4530 -p 4531:4531 -v /home/adminek/synology:/fbs ferro/backupsystem FBS_Server
Как видите, контейнер прослушивает порты 4530 и 4531. Когда я впервые запустил эту команду, все было в порядке.Контейнер работает, и я могу связываться с приложением через порты 4530/4531.
Но после перезагрузки хост-системы контейнер находится в состоянии Exited
root@ubuntuserver:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e77a4729847 ferro/backupsystem "/start.sh FBS_Server" 7 hours ago Exited (128) About a minute ago FBSServer
, и я не могу запуститьконтейнер.Я вижу это:
root@ubuntuserver:~# docker container start FBSServer
Error response from daemon: driver failed programming external connectivity on endpoint FBSServer (c2afb35a61a18c65e8c306bbf36d4e2c9cdf428aafa386e12281d2d9e714b238): Error starting userland proxy: listen tcp 0.0.0.0:4531: bind: address already in use
Error: failed to start containers: FBSServer
Чтобы начать, я должен набрать эти команды:
root@ubuntuserver:~# lsof -i :4530 | grep LISTEN
docker-pr 1328 root 4u IPv6 35086 0t0 TCP *:4530 (LISTEN)
root@ubuntuserver:~# lsof -i :4531 | grep LISTEN
docker-pr 1316 root 4u IPv6 35059 0t0 TCP *:4531 (LISTEN)
Затем я убиваю процессы (в этом примере 1328 и 1316), а затем я могузапустите контейнер, набрав:
docker container start FBSServer
Итак, вопрос № 1: Почему после перезагрузки хост-системы порты «заняты»?
и номер 2: почему иногда после перезагрузки хост-системы я вижу, что изменения в контейнере не были сохранены?Другими словами - после перезагрузки и выполнения команд сверху контейнер работает, но он находится в состоянии без последних изменений, которые я сделал некоторое время до перезагрузки хоста.