Docker:您是否尝试在没有TLS的情况下连接到启用TLS的守护程序?

时间:2015-04-17 15:57:15

标签: linux ubuntu docker daemon mint

在Linux Mint 17.1 x86_64上使用内核3.13.0-48-generic和OpenSSL版本1.0.1f-1ubuntu2.11;每当我尝试执行任何docker命令(如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? 

我使用docker创建了一个名为sudo usermod -aG docker username的组,我尝试以root用户身份运行命令,并按照指示将$(boot2docker shellinit 2> /dev/null)添加到~/.profile {{3} },here并重新安装了OpenSSL。

知道我错过了什么吗?这可能是硬件问题吗?

12 个答案:

答案 0 :(得分:21)

您可以通过运行命令ps -ef来检查它是否已启动。如果要减少结果数量(使用docker),也可以将其grep到| grep docker。如果它没有运行,执行

sudo service docker start

如果它仍然不起作用,那么

您可以参考此链接

docker docs

您可以运行docker run -ddocker run -d &,以便您可以使用同一个终端,甚至可以关闭它。它会将值设置为true,因此您的容器将在" detached"中运行。模式,在后台。

您也可以在操作系统开始使用update-rc.d servicename defaults时自动启动它,或者您也可以参考下面的链接,您必须在其中提供docker作为服务名称和默认设置。

更多参考链接 - auto startupstart

这些是不同的方式。

答案 1 :(得分:15)

我在CentOS 7上部署了docker,我的朋友首先帮我检查了进程/服务docker是否实际运行。他使用命令ps -ef | grep docker。事实证明,这个过程根本没有运行。最后,他使用命令service docker start启动了此过程。最后,问题得到了解决。

答案 2 :(得分:7)

尝试安装apparmor

//incoming call 
                    if(Eic_CallDirection == 'I'){

                        //Offering/Alerting calls
                        if( Eic_State == 'A' || Eic_State == 'O' ){

                            console.log('Incoming Call From ' + Eic_RemoteAddress);

                            //display a dialog message
                            if( $("#inboundDialog").dialog( "isOpen" ) !== true){
                                $( "#inboundDialog" ).data({'interactionId': interactionId,
                                                            'phone': Eic_RemoteAddress,
                                                            'mid': mid,
                                                            'account_id': account_id
                                                            }).dialog('open');
                            }

                            return;
                        }

还有其他事情要寻找in this answer

答案 3 :(得分:4)

当我从Jenkins创建docker图片时,我遇到了同样的问题 用户到docker组,然后重新启动docker服务,在我的情况下,我必须重新启动Jenkins服务

这是我得到的错误

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 :(得分:4)

当我试图跟随一些在线资源时,我遇到了同样的问题;我可以通过以超级用户身份运行docker来解决此问题,尝试在docker命令之前添加sudo

sudo docker ps -a

sudo docker run hello-world

希望它有所帮助。

答案 5 :(得分:3)

今天早上遇到同样的问题。您可能只想service docker start。它适用于centos(可以为所有人工作),它是我一直忘记的那些小唠叨的东西之一。

从技术上讲,当您第一次安装诸如docker或httpd(apache)之类的服务时,实际上需要启动它,否则您将收到该错误。您还可以通过service service_name status查看其他服务的状态,但同样,这就是我的centos 7的用途。

答案 6 :(得分:1)

当docker服务无法启动时,可能会发生这种情况。 sudo service docker startrestart不返回任何输出并不意味着它已成功启动。 您可以使用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容器。

答案 7 :(得分:1)

我通过在sudo模式下运行该命令来解决它,例如“sudo docker images”

答案 8 :(得分:0)

按照https://docs.docker.com/linux/step_one/的步骤操作后遇到同样的问题。 docker服务正在运行,我还将用户添加到docker组。如果没有sudo,docker命令就无法运行。

为我解决的是重新启动电脑。 注意 - 在PC重启之前,我也试过停止并启动docker守护进程。我在Ubuntu 12.04上。

答案 9 :(得分:0)

在我的情况下,由于文件/Users/user/.ssh/config具有权限777。 要检查它是否在终端ssh docker@localhost

中运行

答案 10 :(得分:0)

按照https://docs.docker.com/linux/step_one/的步骤操作后遇到同样的问题。 docker服务正在运行,我还将用户添加到docker组。如果没有sudo,docker命令就无法运行。

为我解决的是重新启动电脑。注意 - 在PC重启之前,我也试过停止并启动docker守护进程。我在Ubuntu 12.04上。

答案 11 :(得分:-3)

sudo chmod 777 /var/run/docker.sock