web-dev-qa-db-ja.com

UbuntuでDockerをデーモンとして起動する

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を実行すると、この重複が表示されることに気付きました。リストされたサービスとしてdockerdocker.ioの両方を取得します。成長した。

42
ken

Ubuntu用のdockerパッケージを提供する人気のあるリポジトリが複数あります。パッケージdocker.ioは(ほとんどの場合)Ubuntuリポジトリのものです。もう1つの人気のあるパッケージは、http://get.docker.io/ubuntuです。これは、パッケージlxc-dockerを提供します(アップデートをより速く出荷するため、後者を実行しています)。 1つのパッケージのみがインストールされていることを確認してください。パッケージの削除が適切にクリーンアップされるかどうかはよくわかりません。それでもSudo service docker restartが機能しない場合は、/ etc /で手動でクリーンアップする必要があります。

33
Andreas Steffan

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

この問題は本当に数時間かかりました。

私のシステムはUbuntu 14.04で、Sudo apt-get install dockerでdockerをインストールし、問題の原因となった他のコマンドをいくつか入力しました。

  1. 「unknown job:docker.io」をグーグルで検索すると、回答が有効になりませんでした。

  2. /etc/init.d/で「不明な仕事」の理由を探しましたが、適切な答えが見つかりませんでした。

  3. /etc/init.d/でスクリプトをデバッグする方法を探しましたが、適切な答えが見つかりませんでした。

  4. その後、私はきれいにしました:

    1. Sudo apt-get remove docker.io
    2. find / -name "*docker*"/etc/init/docker.io.confなどの/etc/init.d/docker.ioによるすべての疑わしいファイルのrm.
  5. 最新の公式ドキュメントに従ってください: https://docs.docker.com/installation/ 、誤解を招く可能性のある古いドキュメントがたくさんあります。

最後に、問題を修正しました。

注:中国にいる場合、GFWのため、https_proxyを設定して https://get.docker.com/ からdockerをインストールする必要がある場合があります。

8
secfree

私はこの質問に回答したことを知っていますが、これがあなたに起こっているのは、おそらくあなたがユーザー名を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ドッカーを実行するか、ログアウト/ログインしてグループへの変更を有効にします。

4
tsukanomon

私はubuntu 14.04で同じ問題を抱えていました

Sudo service docker start

または、画像を一覧表示できます

docker images
2
Chetan kapoor

バグが表示される場合、デーモンが実行されていないこと、およびさらに出力を使用して起動されている場合。

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

0
schlenger

私は同じ問題を抱えていましたが、/ etc/default/dockerの安全でないレジストリの行が原因でした

0
zhrist