Docker:你是否试图连接到启用TLS的守护进程而不使用TLS?
在Linux Mint 17.1 x86_64上,内核为3.13.0-48-generic和OpenSSL版本为1.0.1f-1ubuntu2.11; 每当我尝试执行任何docker命令(如docker login
或docker 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
创build了一个名为sudo usermod -aG docker username
的组,我已经尝试以root用户身份运行这些命令,并按照这里的指示将$(boot2docker shellinit 2> /dev/null)
到~/.profile
,然后重新启动PC并重新安装OpenSSL。
任何想法我错过了什么? 这可能是一个硬件问题?
你可以通过运行命令ps -ef
来检查它是否已经启动。 如果你想减less结果的数量(使用| grep docker
),你也可以把它grep到docker
。 如果它没有运行,执行
sudo service docker start
或者如果它仍然不起作用
你可以参考这个链接
docker文档
您可以运行docker run -d
或docker run -d &
以便您可以使用相同的terminal,甚至closures它。 它会将值设置为true,因此您的容器将以“分离”模式在后台运行。
您也可以在您的操作系统开始使用update-rc.d servicename defaults
时自动启动它,或者您也可以参考下面的链接,您必须将docker
作为服务名称和默认值。
一些更多的链接来引用 – 自动启动 , 新贵
这是不同的做法。
我在CentOS 7上部署了docker,我的朋友首先帮我检查了docker
是否在运行。 他用命令ps -ef | grep docker
ps -ef | grep docker
。 原来,这个过程并没有运行。 最后,他通过使用命令service docker start
来启动这个进程。 最终,问题解决了。
尝试安装apparmor
sudo apt install apparmor
在这个答案中还有其他的事情要寻找。
我从Jenkins创builddocker镜像时遇到同样的问题,只需将用户添加到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]#
当我尝试跟踪一些在线资源时,我遇到了同样的问题; 我能够通过运行docker作为超级用户来解决这个问题,试着在你的docker命令之前添加sudo
:
sudo docker ps -a
sudo docker run hello-world
希望能帮助到你。
今天早上跑到同样的问题。 你可能只想做service docker start
。 它适用于centos(可以为所有人工作),它是我一直都忘记的那些小唠叨的东西之一。
技术上,当你第一次安装一个服务,如docker或httpd(阿帕奇),实际上需要开始,否则你会得到这个错误。 您还可以通过执行service service_name status
来查看其他服务的service service_name status
但是这又是如何为我的centos 7。
当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容器。
我通过在sudo模式下运行该命令来解决它,例如“sudo docker images”
按照https://docs.docker.com/linux/step_one/中的步骤进入相同的问题。; docker服务正在运行,我也已经将用户添加到docker组。 泊坞窗命令不工作没有sudo。
什么解决了我的是重新启动电脑。 注意 – 在PC重新启动之前,我也尝试停止并启动docker守护进程。 我在Ubuntu 12.04上。
在我的情况,这是因为文件/Users/user/.ssh/config
有权限777.要检查它运行在terminalssh docker@localhost
按照https://docs.docker.com/linux/step_one/中的步骤进入相同的问题。; docker服务正在运行,我也已经将用户添加到docker组。 泊坞窗命令不工作没有sudo。
什么解决了我的是重新启动电脑。 注意 – 在PC重新启动之前,我也尝试停止并启动docker守护进程。 我在Ubuntu 12.04上。
sudo chmod 777 /var/run/docker.sock