【问题标题】:permission denied when call python script to run docker-compose ubuntu调用 python 脚本运行 docker-compose ubuntu 时权限被拒绝
【发布时间】:2020-07-14 09:20:11
【问题描述】:

我需要运行 python 脚本才能运行命令:docker-compose restart, 但我得到了:

dc 重启:1:/root/chat-9:权限被拒绝

这是我的python代码:

#!/usr/bin/python

import subprocess
from pathlib import Path

home_path = str(Path.home())
docker_path = Path(home_path+'/chat-9')
p = subprocess.Popen([docker_path,'dc restart'],shell=True)
p.wait()

注意:dc 是 'docker-compose' 的别名。

我也为文件夹 chat-9 更改了 chmod 777 -R,但不起作用,

如何设置权限让python能够运行docker-compose?

请帮忙

谢谢

【问题讨论】:

  • 你能发布 Dockerfile 和 docker-compose 吗?或CMD
  • 我的 docker 文件实际上在文件夹 chat-9 中,用于运行 nodejs,但如果你想在这里查看:FROM node:10-alpine WORKDIR /app COPY . . ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true RUN npm install # RUN npm run build # RUN cp -R src/views dist/views EXPOSE 3000 ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wai> RUN chmod +x /wait CMD /wait && npm run migrate && npm run seed && npm run start:nobuild

标签: python python-3.x docker docker-compose


【解决方案1】:

此外,使用sudo chmod +x <your_filename> 使其可执行。

使用:sudo chown -R $USER <your_file> 将所有权从 root 更改为用户。 $USER 是用户名。

【讨论】:

  • 我对 popen(['path','sudo docker-compose restart']) 和我的 python 文件脚本进行了更改,结果仍然相同:sudo docker-compose restart: 1: /root /chat-9: 权限被拒绝
  • 已编辑,请检查
  • 还是一样的 T_T,我的 ubuntu 是用于服务器的,所以它:root@server,我认为我的服务器没有;除了 root 之外没有任何用户。
  • $USER 保留为自身,然后重试。只改<your_file>
  • 结果是:‘restart.py’后缺少操作数...
【解决方案2】:

我在执行 sudo chmod 755 root 并从 root 到 www-data 执行 sudo chown 后发现它

【讨论】:

    猜你喜欢
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多