Linux模型中的Docker错误17

Str*_*ger 14 linux-mint docker

我在Oracle VM中安装的Linux Mint 17 Qiana(基于Ubuntu 14.04)中安装了docker.如果我尝试启动,它会显示以下错误,

FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 
Run Code Online (Sandbox Code Playgroud)

当我尝试谷歌搜索时,我找不到任何有用的信息.这个stackoverflow问题建议重新启动我的系统,但它不起作用.

我看到以下相关问题没有帮助.

/var/run/docker.sock:没有这样的文件或目录.您是否尝试在没有TLS的情况下连接到启用TLS的守护程序?

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

所以,任何有关这方面的帮助都会非常有帮助.

Szy*_*iak 29

我不知道它是如何附带的.deb(我正在使用Fedora),但默认情况下不应该设置TLS,所以我建议遵循一些基本步骤来查看它是否正常运行.

1.检查docker守护程序是否正在运行

ps aux | grep docker
root      4215  0.1  0.1 440156 17332 ?        Ssl  15:48   0:00 /usr/bin/docker -d -D --bip=172.17.42.1/16 --dns=172.17.42.1 --dns-search=docker -s overlay
wololock  8986  0.0  0.0 113024  2304 pts/1    S+   15:50   0:00 /usr/bin/grep docker
Run Code Online (Sandbox Code Playgroud)

我的docker进程没有运行,尝试sudo /etc/init.d/docker startsudo service docker start

2.检查是否/var/run/docker.sock存在

ls -la /var/run/docker.*
-rw-r--r--. 1 root root   4 04-23 15:48 /var/run/docker.pid
srw-rw----. 1 root docker 0 04-23 15:48 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

这里的重要部分是文件需要按组拥有docker,因此您可以在没有root权限的情况下连接到该文件.

如果docker.sock不存在,您可以尝试从命令行运行docker并启用调试模式,以查看导致问题的原因:

sudo docker -d -D
Run Code Online (Sandbox Code Playgroud)

3.检查您的用户是否已添加到docker组中

id -a
uid=1000(wololock) gid=1000(wololock) grupy=1000(wololock),0(root),10(wheel),100(users),977(docker),989(pkg-build)
Run Code Online (Sandbox Code Playgroud)

如果您不在docker群组中找到您的用户,请尝试通过以下方式添加自己:

sudo gpasswd -a [username] docker
Run Code Online (Sandbox Code Playgroud)

4.获取最新的docker版本

如果之前的尝试没有帮助,请尝试从https://docs.docker.com/installation/ubuntulinux/#installing-docker-on-ubuntu获取最新的docker版本我不确定,但是这一行:

FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json:
Run Code Online (Sandbox Code Playgroud)

表明你正在使用docker v1.18.我可能错了,但如果这是真的,这不是最新的docker版本,它应该升级.我目前使用docker v1.5.0,它在Fedora 21上运行良好

重要提示:UBUNTU/LINUX MINT用户

我们在这里讨论的问题是由于apparmorubuntu/linuxmint发行版中缺少(或没有运行)包而引起的.解决它的最简单方法是安装apparmor:

sudo apt-get install apparmor
Run Code Online (Sandbox Code Playgroud)

如果它已安装但尚未运行,请启动它:

sudo service apparmor start
Run Code Online (Sandbox Code Playgroud)

我希望我的回答可以帮助您解决问题.如果您有任何问题随时问.我会尽力帮助你.