以根用户身份登录
adduser test
为新用户设置密码
passwd test
系统将提示您输入并确认新用户的密码。
授予 sudo 权限
usermod -aG wheel test
通过将用户添加到组,默认情况下他们将具有 sudo 权限。
wheel
以新用户身份登录
su test
系统将提示您输入新用户的密码。
验证新用户
id test
输出将显示用户的 UID、GID 和组成员身份。
将用户添加到 Docker 组
sudo usermod -aG docker test
注销并重新登录:将用户添加到组后,您需要注销并重新登录才能使更改生效。这将更新用户的组成员身份。
docker
验证组成员身份
groups test
重新启动 Docker 服务
sudo systemctl restart docker
直接使用docker-compose 命令启动服务
docker-compose -f /pdmp/confs/compose/docker-compose-base.yml down
报错信息
[shenzhi@localhost /]$ docker-compose -f /pdmp/confs/compose/docker-compose-base.yml down
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.oneoff%3DFalse%22%3Atrue%2C%22com.docker.compose.project%3Dcompose%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied[shenzhi@localhost /]$ docker-compose -f /pdmp/confs/compose/docker-compose-base.yml down
尝试连接到 Docker 守护程序套接字时权限被拒绝 unix:///var/run/docker.sock: 获取 “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.oneoff%3DFalse%22%3Atrue%2C%22com.docker.compose.project%3Dcompose%22%3Atrue%7D%7D”: 拨号 unix /var/run/docker.sock: 连接: 权限被拒绝
把docker-compose路径加入```~/.basgec```
查看docker-compose目录位置
which docker-compose
[shenzhi@localhost root]$ which docker-compose
/usr/local/bin/docker-compose
sudo vim ~/.bashrc
export PATH="/usr/local/bin:$PATH"
应用更改:要使更改生效,请注销并重新登录,或运行以下命令重新加载 shell
source ~/.bash_profile
或
source ~/.bashrc
经过以上权限修改还是提示```docker-compose:找不到命令```
解决方法
docker-compose
二进制文件似乎具有正确的权限并且归root
用户所有。但是,使用 运行sudo
命令时,会收到“找不到docker-compose
命令”错误。此问题可能与
sudo
配置和用户的环境变量有关。默认情况下,该sudo
命令重置PATH
环境变量,这可能会导致系统找不到docker-compose
可执行文件。sudo /usr/local/bin/docker-compose -f /pdmp/confs/compose/docker-compose-base.yml down
这可确保使用
docker-compose
二进制文件的绝对路径,并避免PATH
变量出现任何潜在问题。