Ошибки Docker

Содержание
Введение
Bind for 0.0.0.0:80 failed: port is already allocated
the input device is not a TTY
ls: cannot access
Got permission denied while trying to connect to the Docker daemon socket
unable to prepare context: context must be a directory
Статьи про Docker

Введение

В этой статье вы можете найти ошибки с которыми я встретился при работе с Docker

Инструкции по работе с Docker можете прочитать здесь и здесь

Bind for 0.0.0.0:80 failed: port is already allocated.

docker: Error response from daemon: driver failed programming external connectivity on endpoint web (8b4ccb280aa958668c714013462f1a84334118d41bbd5505e7bfdc23331c2ce5): Bind for 0.0.0.0:80 failed: port is already allocated.

Скорее всего у Вас уже запущен контейнер который слушает порт 80

Выполните

docker ps -a

Посмотрите какой контейнер из тех что Up использует порт 80 - это видно в столбце PORTS

Остановите его командой

docker stop имя_контейнера

Обратите внимание на то, что имя контейнера может не совпадать с именем образа. Вам нужен столбец NAMES

the input device is not a TTY

the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

Скорее всего вы пытаетесь запустить, например, ubuntu в docker под Windows . Например

docker exec -it myubuntu bash

Попробуйте последовать совету и выполнить

winpty docker exec -it myubuntu bash

ls: cannot access

ls: cannot access 'C:/Program Files/Git/': No such file or directory

Скорее всего у вас запущен, например, ubuntu в docker под Windows и вы пытаетесь выполнить какую-то команду внутри контейнера используя /

docker exec myubuntu ls /

или

docker exec myubuntu cat /data.txt

Попробуйте выполнить без /

docker exec myubuntu ls

или

docker exec myubuntu cat data.txt

Got permission denied

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.

Возможно, пользователь который запускает docker run не состоит в группе docker.

Проверить есть ли группа docker можно командой

groups

andrei adm cdrom sudo dip plugdev lpadmin lxd sambashare docker

Если группа docker уже есть - переходите к следующему шагу. Если её нет - создайте командой

sudo groupadd docker

Нужно добавить пользователя в группу docker командой

sudo usermod -aG docker username

Осталось только перелогиниться и всё должно заработать

unable to prepare context: context must be a directory

unable to prepare context: context must be a directory: /home/andrei/docker/Dockerfile

Обычно эта ошибка возникает при неудачной попытке явно указать какой Dockerfile нужно использовать для сборки контейнера.

Пример правильного указания докерфайла с помощью опции -f

docker build -t andrei-debian:1.0 -f Dockerfile-debian .

Подробности о сборке контейнеров читайте в статье docker build

debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7, <> line 18.) debconf: falling back to frontend: Teletype dpkg-preconfigure: unable to re-open stdin:

Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 6. Asia 11. System V timezones 2. America 7. Atlantic Ocean 12. US 3. Antarctica 8. Europe 13. None of the above 4. Australia 9. Indian Ocean 5. Arctic Ocean 10. Pacific Ocean Geographic area:

После ввода зависает

Похожие статьи
Docker
Установка в Linux и Windows
Основы
build: Создание контейнеров + примеры
run: Опции запуска контейнера
Dockerfile
Остановить/удалить все контейнеры
exec: выполнить команду в контейнере
Установка docker compose в Linux
Видеоуроки
Ошибки
Make