docker常见问题

  |   0 评论   |   47 浏览

docker命令不需要用sudo docker

问题

在执行docker命令时,需要增加sudo,比如

sudo docker images

原因为

$ls -ld /var/run/docker.sock
srw-rw---- 1 root docker 0 May  5 19:31 /var/run/docker.sock

docker的unix socket是以root帐号,docker分组运行的,普通用户没有访问权限。

解决

将自己的账号,加入docker分组,如下:

sudo gpasswd -a ${USER} docker

其它情况

如果docker是以root组用户的话,如

$ ls -ld /var/run/docker.sock
srw-rw----. 1 root root 0 May  9 14:21 /var/run/docker.sock

解决

$ sudo groupadd docker
$ sudo systemctl restart docker

结果如下:

$ ls -ld /var/run/docker.sock
srw-rw----. 1 root docker 0 May 12 20:30 /var/run/docker.sock

Docker Engine版本低

问题

The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.12.0 or greater.

原因

不同的 docker compose,要求有对应的 docker engine版本,见 docker compose

docker compose version docker engine version 2 docker engine version 1
1.7.1 >= 1.10.0 >= 1.9.1
1.7.0 >= 1.10.0 >= 1.9.1
1.7.0 RC2 >= 1.10.0 >= 1.9.1
1.7.0 RC1 >= 1.10.0 >= 1.9.1
1.6.2 >= 1.10.0 >= 1.9.1
1.6.1 >= 1.10.0 >= 1.9.1
1.6.0 >= 1.10.0 >= 1.9.1
1.6.0 RC2 >= 1.9.1
1.6.0 RC1 >= 1.9.0
1.5.2 >= 1.7.1

评论

发表评论

validate