centos7普通用户下运行docker-compose

以根用户身份登录 adduser test 为新用户设置密码 passwd test 系统将提示您输入并确认新用户的密码。 授予 sudo 权限 usermod -aG wheel test 通过将用户添加到组,默认情况下他们将具有 sudo 权限。wheel 以新用户身份登录 su test 系统

以根用户身份登录

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 变量出现任何潜在问题。

LICENSED UNDER CC BY-NC-SA 4.0
评论
访问统计
总访问量: 👀| 访客数: 🚶‍♂️