我正在学习dokku,以便进行简单的Web部署。官方安装说明说明了此命令:
wget -qO- https://raw.github.com/progrium/dokku/v0.3.12/bootstrap.sh | sudo DOKKU_TAG=v0.3.12 bash
我不是devop或管理员,但就我理解这一行而言,它会在root
帐户下执行所有引导和安装,感谢sudo
。因此,dokku将被签入具有root
访问权限的目录,而/var/lib/dokku/
等所有其他目录也将具有root
访问权限。
问题是 - 互联网上关于dokku的所有文章指示执行dokku
命令或执行与sudo
无关的dokku相关操作。例如,有关此dokku
数据库插件https://github.com/krisrang/dokku-mariadb的说明指示通过以下方式安装它:
cd /var/lib/dokku/plugins
git clone https://github.com/krisrang/dokku-mariadb mariadb
dokku plugins-install
这不起作用,因为/var/lib/dokku/plugins
具有root
访问权限,而git clone
将失败acces denied
。现在很难成为非管理员,但也许有人会暗示我做错了什么?我是否需要以其他方式安装dokku,或者所有与互联网相关的dokku相关教程都假设我在root
下执行它们(由于我的管理知识有限,出于安全原因,不建议使用它)。 / p>
答案 0 :(得分:4)
您应该将这三个命令作为sudo
运行:
sudo su -
dokku二进制文件将以dokku用户身份运行代码,即使您以root身份执行也是如此。所以按原样运行它应该没问题。一旦成为sudo用户,只需运行问题中列出的安装说明即可。希望我的回答有帮助! :)
我也联系过他们,因为他们提到:
将来,我们将有一种方法直接用a安装插件 dokku命令
答案 1 :(得分:3)
据我所知,你需要以root身份运行它。安装没有root权限的程序的传统方法是download the source and compile it,可以通过运行来完成:
git clone https://github.com/progrium/dokku.git
请
make install
Dokku的makefile依赖于apt-get,它需要root访问才能运行。
我不熟悉dokku或dokku-mariadb,但我认为dokku-mariadb的作者也假设是root用户。
答案 2 :(得分:0)
对于遇到问题的人是否可以通过 root 用户安装(根据指南在新创建的虚拟机上),请尝试检查此 Github 问题: https://github.com/dokku/dokku/issues/961
由于与 dokku 相关的命令以 #
为前缀而不是 $
,这意味着不需要从非 root 用户运行它们。它还使编写 suddo 变得不必要(并且使我的经验适得其反)。