web-dev-qa-db-ja.com

Docker:TLSなしでTLS対応デーモンに接続しようとしていますか?

Linux Mint 17.1 x86_64(カーネル3.13.0-48-genericおよびOpenSSLバージョン1.0.1f-1ubuntu2.11)ドッカーコマンド(docker logindocker run hello-worldなど)を実行しようとすると、次のエラーが表示されます。

FATA[0000] Get http:///var/run/docker.sock/v1.18/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 

Sudo usermod -aG docker usernameを使用してdockerというグループを作成し、ルートとしてコマンドを実行し、通常どおりに$(boot2docker shellinit 2> /dev/null)~/.profileに追加して、指示に従って herePCを再起動しました およびOpenSSLを再インストールしました。

何が欠けているのでしょうか?これはハードウェアの問題ですか?

46
strNOcat

コマンドps -efを実行すると、起動したかどうかを確認できます。結果の数を減らしたい場合は、dockerにgrepすることもできます(| grep dockerを使用)。実行されていない場合は、実行します

Sudo service docker start

または、それでもまだ動作しない場合

このリンクを参照できます

docker docs

docker run -dまたはdocker run -d &を実行して、同じ端末を使用したり、場合によっては閉じたりすることもできます。値がtrueに設定されるため、コンテナはバックグラウンドで「分離」モードで実行されます。

OSがupdate-rc.d servicename defaultsを使用して起動したときに自動的に起動することもできます。また、サービス名とデフォルトとしてdockerを指定する必要がある以下のリンクを参照することもできます。

参照するいくつかのリンク- 自動起動起動

これらは異なる方法です。

21
Tejus Prasad

CentOS 7にdockerを展開し、友人が最初にプロセス/サービスdockerが実際に実行されているかどうかを確認するのを手伝いました。彼はコマンドps -ef | grep dockerを使用しました。プロセスがまったく実行されていなかったことが判明しました。最後に、彼はコマンドservice docker startを使用してこのプロセスを開始しました。最後に、問題は解決されました。

15
Randolph Kevin

Apparmorをインストールしてみてください

Sudo apt install apparmor

他にも探すべきものがあります この回答では です。

8
matiasg

Jenkinsからdockerイメージを作成しているときに同じ問題に直面しました。単にユーザーをdockerグループに追加してからdockerサービスを再起動します。

これは私が得たエラーでした

http:///var/run/docker.sock/v1.19/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=59aec062a8dd8b579ee1b61b299e1d9d340a1340: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
FATAL: Failed to build docker image from project Dockerfile
Java.lang.RuntimeException: Failed to build docker image from project Dockerfile


Solution: 

[root@Jenkins ssh]# groupadd docker
[root@Jenkins ssh]# gpasswd -a jenkins docker
Adding user jenkins to group docker
[root@Jenkins ssh]# /etc/init.d/docker restart
Stopping docker:                                           [  OK  ]
Starting docker:                                           [  OK  ]
[root@Jenkins ssh]# /etc/init.d/jenkins restart
Shutting down Jenkins                                      [  OK  ]
Starting Jenkins                                           [  OK  ]
[root@Jenkins ssh]#
4
Avinash Singh

いくつかのオンラインリソースをフォローしようとしたときに、同じ問題が発生しました。スーパーユーザーとしてdockerを実行することでこれを解決できました。dockerコマンドの前にSudoを追加してみてください:

Sudo docker ps -a

Sudo docker run hello-world

それが役に立てば幸い。

4
Jikku Jose

今朝、同じ問題に遭遇しました。単にservice docker startを実行できます。それはcentos(すべての人のために働くことができます)のために働きます、そして、それらの小さいしつこいことの1つは私がいつも忘れます。

技術的には、dockerやhttpd(Apache)などのサービスを最初にインストールするときに実際に起動する必要があります。そうしないと、そのエラーが発生します。また、service service_name statusを実行することで他のサービスのステータスを確認することもできますが、これは私のcentos 7の場合です。

3
Jouster500

これは、Dockerサービスを開始できない場合に発生する可能性があります。 Sudo service docker startまたはrestartが出力を返さないということは、それが正常に開始したことを意味しません。 Sudo /etc/init.d/docker statusを使用して、起動に失敗したかどうか、および失敗した理由を確認できます。

私の場合、それはディスク容量の不足によるものでした。

username@computer:~$ Sudo service docker restart
username@computer:~$ Sudo /etc/init.d/docker status
? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit) since Mon 2015-12-21 15:11:59 PST; 21s ago
     Docs: http://docs.docker.com
  Process: 26463 ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
 Main PID: 26463 (code=exited, status=1/FAILURE)

Dec 21 15:11:59 computer docker[26463]: time="2015-12-21T15:11:59-08:00" level=info msg="Listening for HTTP on fd ()"
Dec 21 15:11:59 computer docker[26463]: time="2015-12-21T15:11:59-08:00" level=info msg="+job init_networkdriver()"
Dec 21 15:11:59 computer docker[26463]: time="2015-12-21T15:11:59-08:00" level=info msg="-job init_networkdriver() = OK (0)"
Dec 21 15:11:59 computer docker[26463]: time="2015-12-21T15:11:59-08:00" level=fatal msg="Shutting down daemon due to errors: Insertion failed because database is full: database or disk is full"
Dec 21 15:11:59 computer systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Dec 21 15:11:59 computer systemd[1]: Unit docker.service entered failed state.
Dec 21 15:11:59 computer systemd[1]: docker.service failed.
Dec 21 15:11:59 computer systemd[1]: start request repeated too quickly for docker.service
Dec 21 15:11:59 computer systemd[1]: Failed to start Docker Application Container Engine.
Dec 21 15:11:59 computer systemd[1]: docker.service failed.

いくつかのファイルを削除した後、サービスを再起動し、Dockerコンテナを正常に実行できました。

1
mboren

そのコマンドをSudoモードで実行することで解決しました。 「Sudo docker images」

1
feload

https://docs.docker.com/linux/step_one/ の手順を実行した後、同じ問題に遭遇しました。 dockerサービスが実行されていたので、ユーザーをdockerグループに追加しました。 dockerコマンドはSudoなしでは機能しませんでした。

私にとってそれを解決したのは、PCを再起動することでした。注-PCを再起動する前に、Dockerデーモンの停止と起動も試みました。 Ubuntu 12.04を使用しています。

0
Ajay Yadav

私の場合、それはファイル/Users/user/.ssh/configにパーミッション777があるためです。それを確認するには、ターミナルssh docker@localhostで実行します

0
Londeren

https://docs.docker.com/linux/step_one/ の手順を実行した後、同じ問題に遭遇しました。 dockerサービスが実行されていたので、ユーザーをdockerグループに追加しました。 dockerコマンドはSudoなしでは機能しませんでした。

私にとってそれを解決したのは、PCを再起動することでした。注-PCを再起動する前に、Dockerデーモンの停止と起動も試みました。 Ubuntu 12.04を使用しています。

0
tigeronk2