Я установил докер на raspberry-pi (подключен через ssh) Установка прошла успешно.
Но запуск docker run hello-world
не дает никаких результатов.
Обратите внимание, что в первый раз я получил дополнительные сообщения об установке изображения
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ad0f38092cf2: Pull complete
Digest: sha256:e366bc07db5e8a50dbabadd94c2a95d212bc103e3557e47df8a2eebd8bb46309
Status: Downloaded newer image for hello-world:latest
Но нет фактического вывода из сценария hello world
Обратите внимание: я установил докер с помощью команды curl -sSL https://get.docker.com | sh
Я тоже пробовал следующую команду
sudo usermod -aG docker pi
sudo systemctl start docker
sudo docker run hello-world
Пробовал следующие команды docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
734dd8f733d7 hello-world "/hello" About a minute ago Exited (139) 59 seconds ago thirsty_bhaskara
запустить:
docker ps -a
и проверьте, видите ли вы вышедший контейнер.
возьмите идентификатор контейнера из вывода и введите
docker logs <ID>
это позволит вам просматривать журналы.
если вы хотите увидеть результат в первую очередь при запуске, добавьте флаги -it
в команду запуска
редактировать:
Я пробовал на своей машине:
docker run -it hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:e366bc07db5e8a50dbabadd94c2a95d212bc103e3557e47df8a2eebd8bb46309
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
возможно, ваш вывод перенаправлен в какой-то другой поток. попробуйте использовать:
docker run -it hello-world > ./test.txt 2>&1
после этого проверьте, есть ли в файле какое-либо содержимое
Не получал никаких выходных данных, работающих нормально, и никаких журналов. Использование флага '-it' заставило его работать, спасибо.
Недавно у меня была такая же проблема с моей недавно установленной Fedora 28 (последняя версия) ... все контейнеры вышли с кодом выхода 139, docker events
сказал, что он умер, а docker logs
ничего не сказал.
Мое решение состояло в том, чтобы обновить докер (или перейти на версию CE), поскольку установленная версия докера была 1.13, что довольно давно. (Учебник для fedora https://docs.docker.com/install/linux/docker-ce/fedora/)
Также я наткнулся на одну потенциальную вещь, которую нужно проверить ... совместим ли ваш контейнер с вашей архитектурой (raspberry - это ARM, не так ли?) Используйте поиск docker image inspect <image>
для Architecture
.
У меня была аналогичная проблема, мое решение было определенно очень наивным, но я в основном удалил все контейнеры и изображения, а затем попробовал снова. Это сработало.
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)
Я столкнулся с той же проблемой на Raspberry Pi 1B + (armv6l). Вдохновленный ответом @ JanDrábek, первое наблюдение заключается в том, что образ hello-world
действительно будет поддерживать ARM, но только после использования hypriot/armhf-hello-world
вместо этого я получил ожидаемый результат:
$ uname -a
Linux 4.1.19+ #858 Tue Mar 15 15:52:03 GMT 2016 armv6l GNU/Linux
$ docker run hello-world # No output
$ docker image inspect hello-world | grep Architecture # Arch looks right though
"Architecture": "arm",
$ docker run hypriot/armhf-hello-world # This does the job
Hello from Docker.
This message shows that your installation appears to be working correctly.
Есть идеи, почему «hypriot / armhf-hello-world» работает, а стандартный - нет?
Пробовал `docker run -it hello-world; журналы докеров 734dd8f733d7` нет вывода