Tag: tty

在docker集装箱中安装伪码

我的docker容器有一个脚本,可以在生产环境中打开一个真正的TTY设备的串行连接,就像Arduino一样。 对于没有真正连接的设备的本地testing,我想创build一个模拟的TTY,然后运行指向这个伪tty的同一个docker容器。 当我创build伪tty并运行docker run –device=/dev/pts/2 test我得到的错误: docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:65: creating device nodes caused \\\"open /var/lib/docker/aufs/mnt/242a13eadb75e802b2eab8dc01c701c4ad671195b93f7b956000f32ac0911e24/dev/pts/2: permission denied\\\"\"". 如果我使用–privileged运行并连接到正在运行的容器,path不在/dev/pts 。 我的主机是Debian jessie实例。 有没有办法从容器内连接到这个伪tty? 还是有更好的方法来做这个testing,想到?

如何解决'sudo:没有tty目前没有askpass程序指定'错误?

我正在尝试使用makefile编译一些源代码。 在makefile中有一些命令需要作为sudo运行。 当我从terminal编译源码时,一切正常,第一次sudo命令正在等待密码时,make将暂停。 一旦我input密码,恢复并完成。 但我希望能够在NetBeans中编译源代码。 所以,我开始了一个项目,并展示了netbeans在哪里可以find源代码,但是当我编译这个项目时,它会给出错误: sudo: no tty present and no askpass program specified 第一次命中sudo命令。 我已经在互联网上查找了这个问题,我发现的所有解决scheme都指向了一件事:禁用此用户的密码。 由于这里的用户是根。 我不想这样做。 有没有其他解决scheme?

-su:/ dev / tty:没有这样的设备或地址

可以请有人向我解释为什么会发生这种情况? # su – someone -s /bin/bash -c "ls -la /dev/tty" crw-rw-rw- 1 nobody nogroup 5, 0 Dec 7 20:53 /dev/tty # BUT: # su – someone -s /bin/bash -c "echo hello > /dev/tty" -su: /dev/tty: No such device or address 我正在build立一个docker集装箱,里面有两个服务。 这些服务由Shell-Script开始: CMD ["./starter.sh"] 使用Dockerfile我已经将日志redirect到/dev/stderr或/dev/tty # None of the following works: RUN ln -sf […]

在pipe理员下运行docker,不能启用tty错误

我正试图在主pipe下运行一个启动容器,目前看起来像这样 [program:api] directory=/api/ command=/usr/bin/docker run -it –name api –env-file ./api/api.env –rm -p 8080:8080 588n8b6d7cbd autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/supervisor-docker-api-out.log stderr_logfile=/var/log/supervisor/supervisor-docker-api-err.log priority=1 当我这样做时,我得到进程失败运行,我得到下面的错误 cannot enable tty mode on non tty input 如果我删除了-it选项,那么进程运行良好,但是,当我告诉主pipe停止时,实际的docker容器仍在运行。 我不能以任何方式修改图像,所以不能在这里得到方法closures通过主pipe的Docker容器来帮助我。 我在ubuntu 14.04上使用docker 1.11.2。 谢谢

Docker似乎没有tty?

我有一个非常简单的docker文件叫做“Yakkety”,如下所示: FROM ubuntu:yakkety RUN apt-get update 我可以通过运行docker build -f Yakkety -t my-yakk .来成功创build一个映像docker build -f Yakkety -t my-yakk . 。 但是,当我在这个图像中运行一个shell时,它似乎无法产生任何输出: % docker run -t my-yakk /bin/bash root@ab0f59b63159:/# ls (hangs) 我必须通过执行control-C来退出进程。 我认为这个过程在老版本的Docker中用于我的工作,但我想我不能确定,因为这是几个月前。 我能做些什么来诊断问题? 我使用Docker version 1.12.6, build 78d1802 ,安装了homebrew 。 我在Mac OS X 10.12.2版上运行。

Dockernetworkingterminal

我有一个使用Docker运行Debian 8的VPS。 我想给我的客户通过Web界面的某种terminal访问容器。 什么是实施这个最好的方法? 还有没有人有某种例子。 干杯,拉蒙

如何解决“input设备不是TTY”使用grunt-shell来调用docker运行的脚本?

当发出grunt shell:test ,我得到警告“input设备不是TTY”,不想使用-f : $ grunt shell:test Running "shell:test" (shell) task the input device is not a TTY Warning: Command failed: /bin/sh -c ./run.sh npm test the input device is not a TTY Use –force to continue. Aborted due to warnings. 这里是Gruntfile.js命令: shell: { test: { command: './run.sh npm test' } 这里是run.sh : #!/bin/sh # […]

Docker:执行一个需要tty的程序

我有一个取决于terminal特性的实用程序。 我想在Docker容器中执行它。 (这个程序本身不是一个交互式的程序,它是一个老的程序,是这样写的)。 docker run -i -t或者docker exec -i -t应该打开一个tty到容器中。 但是,这是发生了什么.. user@1755e1f3f735:~/region/primer/cobol_v> kickstop [Error] Unable to run without terminal device (tty) user@1755e1f3f735:~/region/primer/cobol_v> tty not a tty 当docker命令(run / exec)的-t选项应该给出'tty'时,tty命令返回'not a tty'。 这是令人费解的。 我在openSuse和fedora23主机和映像上遇到过这个问题。 我使用了'guake',MATE(Gnome?)terminal仿真器,结果相同。 有没有解决这个问题? 或者这是由devise,必须更换/重写我的工具?

使用golang连接到具有ttyfunction的docker容器

以分离(背景)模式启动简单的Docker容器 docker run -d –name test ubuntu tail -f /dev/null 这里是我连接到运行容器的简单golang代码。 在目前的连接,我想获得functiontty。 package main import ( "fmt" "os/exec" "bufio" "io" "os" "github.com/kr/pty" ) func main() { cmd := exec.Command("docker", "exec", "-it", "test", "bin/bash") tty, err := pty.Start(cmd) if err != nil { fmt.Println("Error start cmd", err) } defer tty.Close() go func() { scanner := bufio.NewScanner(tty) […]