初次使用docker命令的时候会报权限问题
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
解决方法:
一,使用sudo获取root权限;
二,将当前用户添加到docker用户组;
1
2
3
4
|
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组 docker ps #测试docker命令是否可以使用sudo正常使用 |
补充:docker部署mysql 时root 用户无法登录问题和解决办法
今天在使用mysql:5.7的docker镜像时发现在启动容器后使用root用户无法登录。步骤如下:
1、拉取mysql5.7镜像
1
|
$docker pull mysql:5.7 |
2、创建一个网桥
1
|
$docker network create -d bridge blog_network |
3、运行mysql 容器
1
|
docker container run -it -- rm --name mysql --network blog_network - v $PWD /data/myscript/ : /docker-entrypoint-initdb .d/ -- env MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 |
4、进入容器
1
2
|
$docker exec -it mysql bash #mysql -u root -p |
使用步骤3 设置的密码123456 返回结果为:
1
2
|
Enter password: ERROR 1045 (28000): Access denied for user 'root' @ 'localhost' (using password: YES) |
5、解决办法如下
第2步运行容器命令修改如下:
1
2
|
$ docker container run -it --detach --name mysql --network blog_network -p 3306:3306 - v $PWD /data/myscript/ : /docker-entrypoint-initdb .d/ -- env MYSQL_RANDOM_ROOT_PASSWORD= yes mysql:5.7 $ docker container logs mysql| grep 'GENERATED ROOT PASSWORD: ' | awk -F ': ' '{print $2}' |
会返回一串字符串,这个就是我们的root用户的实际密码:使用这个密码登录后再修改root用户密码即可。
1
2
|
ooli0OhMoo1Ieg1CeiYieSohleeVi1oh $mysql -u root -p |
使用上面的密码进入mysql之后就是修改密码了。
1
2
3
|
mysql>update mysql.user set authentication_string=password( 'newpassword' ) where user= 'root' ; mysql>flush privileges; mysql> exit |
如图:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/sky_jiangcheng/article/details/80273102