我已经安装了一个带有Ubuntu 16.04,Nginx,Mariadb和PHP 7.0的lemp docker容器,并且已经设置了postfix和基本的ssh功能,这些功能都可以正常工作 . 我创建了一个具有sudo权限的非root用户(在sudo组中),但是当我尝试使用sudo时,我得到了错误
sudo:没有tty存在且没有指定askpass程序
这发生在 sudo
, sudo -s
, sudo su
等 .
我已经使用visudo进入 /etc/sudoers
文件并添加了一行说 me ALL=(ALL) NOPASSWD: ALL
,因为其他一些地方建议这样做,但它没有解决问题 . 有谁知道解决方案?
1 回答
您需要启用tty启用容器
docker run -it ...
. 也就是说,在单个容器上安装Web服务器,数据库,邮件服务器和ssh在docker世界中是非常反模式的 . 这将docker视为轻量级vm,而不是不可变的单个应用程序隔离工具 .