web-dev-qa-db-ja.com

Docker runは出力を表示しません

Raspberry-pi(ssh経由で接続)にdockerをインストールしました。インストールは成功しました。

ただし、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コマンドを使用してdockerをインストールしました

私も次のコマンドを試してみました

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
14
shakthi

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.
12
fuglede

実行:

docker ps -a

出たコンテナが見えるか確認してください。

出力からコンテナIDを取得して入力します

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

その後、ファイルにコンテンツがあるかどうかを確認します

3
eran meiri

私は同様の問題を抱えていました、私の解決策は確かに非常に素朴でしたが、基本的にすべてのコンテナーとイメージを削除してから、再試行しました。動いた。

# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)
2
Mihir Bhende

最近インストールしたFedora 28(最新)で同じ問題が発生しました...コンテナーはすべて終了コード139で終了し、docker eventsは終了したと言い、docker logsは何も言わなかった。

私の解決策は、インストールされたドッカーのバージョンが非常に古い1.13だったので、ドッカーを更新する(またはCEエディションに切り替える)ことでした。 (Fedoraのチュートリアル https://docs.docker.com/install/linux/docker-ce/Fedora/

また、私はチェックする可能性のあるものに遭遇しました...あなたのコンテナはあなたのアーキテクチャと互換性があります(ラズベリーはARMじゃないですか?)docker image inspect <image>を使用してArchitecture

1
Jan Drábek