FATA[0000] (省略) Are you trying to connect to a TLS-enabled daemon without TLS?

简介

默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 docker images 命令会有如下问题:

FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

于是考虑如何免 sudo 使用 docker,经过查找资料,发现只要把用户加入 docker 用户组即可,具体用法如下。

免 sudo 使用 docker

  • 如果还没有 docker group 就添加一个:

    sudo groupadd docker
  • 将用户加入该 group 内。然后退出并重新登录就生效啦。
    sudo gpasswd -a ${USER} docker
  • 重启 docker 服务
    sudo service docker restart
  • 切换当前会话到新 group 或者重启 X 会话
    newgrp - docker
    
    OR
    
    pkill X

注意,最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

原因分析

  • 因为 /var/run/docker.sock 所属 docker 组具有 setuid 权限

    $ sudo ls -l /var/run/docker.sock
    srw-rw---- 1 root docker 0 May  1 21:35 /var/run/docker.sock
时间: 2024-11-11 03:09:01

FATA[0000] (省略) Are you trying to connect to a TLS-enabled daemon without TLS?的相关文章

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

>> docker imagesFATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? solution: Execute 'service docker restart'. If vm

《第一本Docker》笔记(三)之Docker入门

三.Docker入门(以下运行环境是Cetos6.364bit系统上进行) 1. 创建容器 #docker run -I -t ubuntu /bin/bash -i 标志保证容器中STDIN是开启的,尽管我们并没有附着到容器中,-t 标志告诉Docker为要创建的容器分配一个伪tty终端. 附录:在执行这条指令的时候遇到以下问题: FATA[0000] Gethttp:///var/run/docker.sock/v1.17/images/search?term=ubuntu: dial un

Docker Registry v2 + Token Auth Server (Registry v2 认证)实例。

关于Registry 对于registry v1 --> v2中,其中的原理.优化等,这里不再做一一介绍.这里有篇文章我瞄过几眼应该是比较不错的介绍文章了:http://dockone.io/article/747 . Registry v2 token机制 官方document:https://docs.docker.com/registry/spec/auth/token/ 目前docker registry v2 认证分为以下6个步骤: 1. docker client 尝试到regist

Docker学习笔记(4) — 开启Docker远程访问

默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进程本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作. 如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信. 修改Docker服务启动配置文件,添加一个未被占用的端口号,重启docker守护进程. # vim /etc/default/docker DOCKER_OPTS="-H 0.

在阿里云主机的Debian操作系统上安装Docker

## 下面命令都是以root用户执行 ## 查看内核版本 uname -a # Debian 3.2.0-4 x86_64 ## 版本太低了 < 3.8 ## 参照 http://docs.docker.com/installation/debian/ 升级内核 deb http://http.debian.net/debian wheezy-backports main apt-get update apt-get install -t wheezy-backports linux-image

CENTOS6.5 下docker安装和配置

学习下最新的一些动向  docker就是一个新兴的好东西. 1 docker简介    Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器.它原本是 dotCloud 启动的一个业余项目,并在前些时候开源了.它吸引了大量的关注和讨论,导致 dotCloud 把它重命名到 Docker Inc.它最初是用 Go 语言编写的,它就相当于是加在 LXC(LinuX Containers,linux 容器)上的管道,允许开发者在更高层次的概念上工作.    Docker

Ubuntu上Docker安装Trouble Shooting

(我的环境是Mint7.1,相当于Ubuntu14.04) 1,首先,根据docker.com上的安装指导来安装docker,这里就不重复了,参考: https://docs.docker.com/installation/ubuntulinux/   2,执行 $ docker version 你可能遭遇如下错误: FATA[0000] Get http:///var/run/docker.sock/v1.17/version: dial unix /var/run/docker.sock:

docker组成 以及启动服务遇到的错

Docker 创建镜像,配置镜像file, 1.什么是docker? 把所有环境固化 ,这样在某个固定的环境中运行某个项目 只需要把 固化的环境拿过来,直接运行 ,这样  把项目程序 放到任何服务器上都可以运行. 2.什么是镜像? 镜像: 基础镜像:操作系统镜像,debian.ubertu.windows.,所有的操作系统都能打包成一个镜像,  jdk .maven也可以打包成一个镜像 3.镜像 有什么作用? 把镜像copy出来放到容器中运行.一个完整的Docker镜像可以支撑一个Docker容

删除/var/lib/docker

FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json?all=1: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 1.重启机器删除/var/lib/docker /var/docker