Dockerを数週間正常に使用してきましたが、今日、次の2行を/etc/init/docker.conf
のdocker構成ファイルに追加することを提案する一連の指示に従いました。
limit memlock unlimited unlimited
limit nofile 262144
次に、Sudo /etc/init.d/docker restart
を使用してDockerを再起動することを提案しました。 Ubuntu 14.04でこれを実行すると、次のように報告されました。
- Dockerはupstartで管理されています。サービスdocker restartを使用してみてください
私が報告したSudo service docker restart
を試しました:
停止:不明なジョブ:ドッカー
開始:不明なジョブ:ドッカー
今、私はdockerデーモンが実行されていない状態で立ち往生しています!再起動しようとしましたが、まだ実行されていません。Sudo docker version
のような単純なものを実行すると、
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/AMD64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory
トラブルシューティングを行うには、コマンドラインでdockerデーモンを起動してみました:
Sudo docker -d
そして、別のターミナルウィンドウでDockerを正常に実行できるようになりました。それは素晴らしいことですが、どうすれば通常の方法で再び起動できるようになりますか?また、2つのdocker configファイルがあります。
/etc/init/docker.conf
/etc/init/docker.io.conf
DUPのように見えます。それらは冗長ですか?どちらを見るべきですか?両方必要ですか?
また、Sudo service --status-all |grep docker
を実行すると、この重複が表示されることに気付きました。リストされたサービスとしてdocker
とdocker.io
の両方を取得します。成長した。
Ubuntu用のdockerパッケージを提供する人気のあるリポジトリが複数あります。パッケージdocker.io
は(ほとんどの場合)Ubuntuリポジトリのものです。もう1つの人気のあるパッケージは、http://get.docker.io/ubuntu
です。これは、パッケージlxc-docker
を提供します(アップデートをより速く出荷するため、後者を実行しています)。 1つのパッケージのみがインストールされていることを確認してください。パッケージの削除が適切にクリーンアップされるかどうかはよくわかりません。それでもSudo service docker restart
が機能しない場合は、/ etc /で手動でクリーンアップする必要があります。
14.04でdocker 1.9.1を使用して同じ問題が発生しました。
Rootであるにもかかわらず、Sudoを使用すると、upstart serviceコマンドが機能しました。
$ whoami
root
$ service docker status
status: Unbekannter Auftrag: docker
$ Sudo service docker status
docker start/running, process 7394
環境変数に依存しているようです。
service docker status
は、su -
でrootになるときに機能しますが、su
のみを使用する場合は機能しません。
$ su
Password:
$ service docker status
status: unknown job: docker
$ exit
$ su -
Password:
$ service docker status
docker start/running, process 2342
この問題は本当に数時間かかりました。
私のシステムはUbuntu 14.04で、Sudo apt-get install docker
でdockerをインストールし、問題の原因となった他のコマンドをいくつか入力しました。
「unknown job:docker.io」をグーグルで検索すると、回答が有効になりませんでした。
/etc/init.d/
で「不明な仕事」の理由を探しましたが、適切な答えが見つかりませんでした。
/etc/init.d/
でスクリプトをデバッグする方法を探しましたが、適切な答えが見つかりませんでした。
その後、私はきれいにしました:
Sudo apt-get remove docker.io
find / -name "*docker*"
、/etc/init/docker.io.conf
などの/etc/init.d/docker.io
によるすべての疑わしいファイルのrm.最新の公式ドキュメントに従ってください: https://docs.docker.com/installation/ 、誤解を招く可能性のある古いドキュメントがたくさんあります。
最後に、問題を修正しました。
注:中国にいる場合、GFWのため、https_proxyを設定して https://get.docker.com/ からdockerをインストールする必要がある場合があります。
私はこの質問に回答したことを知っていますが、これがあなたに起こっているのは、おそらくあなたがユーザー名をdockerグループに追加しなかったからでしょう。
手順は次のとおりです。
まだ存在しない場合は、ドッカーグループを追加します。
Sudo groupadd docker
接続ユーザー${USER}
をdockerグループに追加します。ユーザー名を優先ユーザーに一致するように変更します。
Sudo gpasswd -a ${USER} docker
Dockerデーモンを再起動します。
Sudo service docker restart
Ubuntu 14.04-15.10 *を使用している場合は、代わりにdocker.ioを使用します。
Sudo service docker.io restart
(Ubuntu 16.04を使用している場合、サービスの名前は単に「docker」です)
newgrp
ドッカーを実行するか、ログアウト/ログインしてグループへの変更を有効にします。
私はubuntu 14.04で同じ問題を抱えていました
Sudo service docker start
または、画像を一覧表示できます
docker images
バグが表示される場合、デーモンが実行されていないこと、およびさらに出力を使用して起動されている場合。
Sudo docker daemon -D
出力はtimeoutであり、これはUbuntuで次の実行で修正できます。
$ ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | Sudo sh
(ソース: https://github.com/moby/moby/issues/22507#issuecomment-219601289 )
私は同じ問題を抱えていましたが、/ etc/default/dockerの安全でないレジストリの行が原因でした