docker 免root權(quán)限登陸的解決方案
初次使用docker命令的時候會報權(quán)限問題
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權(quán)限;
二,將當前用戶添加到docker用戶組;
sudo groupadd docker #添加docker用戶組 sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中 newgrp docker #更新用戶組 docker ps #測試docker命令是否可以使用sudo正常使用
補充:docker部署mysql 時root 用戶無法登錄問題和解決辦法
今天在使用mysql:5.7的docker鏡像時發(fā)現(xiàn)在啟動容器后使用root用戶無法登錄。步驟如下:
1、拉取mysql5.7鏡像
$docker pull mysql:5.7
2、創(chuàng)建一個網(wǎng)橋
$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 返回結(jié)果為:
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
如圖:
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
詳解使用 Docker 構(gòu)建 LNMP 環(huán)境
本篇文章主要介紹了使用 Docker 構(gòu)建 LNMP 環(huán)境,詳細的介紹了配置LNMP 環(huán)境的步驟。具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03docker實現(xiàn)MySQL數(shù)據(jù)同步的方法
docker的一大好處是在本地可以很方便快速的搭建負載均衡,主從同步等需要多主機的環(huán)境,本文主要介紹了docker實現(xiàn)MySQL數(shù)據(jù)同步的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目
這篇文章主要介紹了Gitlab-runner+Docker自動部署SpringBoot項目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進行注冊綁定,需要的朋友可以參考下2022-04-04Docker內(nèi)部MySQL如何開啟binlog日志
這篇文章主要介紹了Docker內(nèi)部MySQL如何開啟binlog日志問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04