主页 > 知识库 > docker 免root权限登陆的解决方案

docker 免root权限登陆的解决方案

热门标签:网站建设 美图手机 使用U盘装系统 硅谷的囚徒呼叫中心 阿里云 百度竞价点击价格的计算公式 检查注册表项 智能手机

初次使用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用户组;

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镜像

$docker pull mysql:5.7

2、创建一个网桥

$docker network create -d bridge blog_network

3、运行mysql 容器

 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、进入容器

$docker exec -it mysql bash
#mysql -u root -p

使用步骤3 设置的密码123456 返回结果为:

Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

5、解决办法如下

第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用户密码即可。

ooli0OhMoo1Ieg1CeiYieSohleeVi1oh
$mysql -u root -p

使用上面的密码进入mysql之后就是修改密码了。

mysql>update mysql.user set authentication_string=password('newpassword') where user='root' ;
mysql>flush privileges;
mysql>exit

如图:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

标签:湘潭 通辽 烟台 贺州 怀化 湖北 黄山 山南

巨人网络通讯声明:本文标题《docker 免root权限登陆的解决方案》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266