文档章节

gotty使用问题,Docker container won't exit by closing browser window 问题处理

qquunn
 qquunn
发布于 2019/04/28 23:01
字数 216
阅读 16
收藏 0

bug描述参见 https://github.com/yudai/gotty/issues/88

解决方案(绕过):

1.假设容器中运行的进程是bash或sh

2.关闭浏览器时,gotty不要发送closeSignal信号给bash进程,改成发送exit命令,这样容器中bash或sh进程可以退出

 

修改local_command.go文件

修改前

func (lcmd *LocalCommand) Close() error {
	if lcmd.cmd != nil && lcmd.cmd.Process != nil {
		lcmd.cmd.Process.Signal(lcmd.closeSignal)
	}

 

修改后

func (lcmd *LocalCommand) Close() error {
	log.Println("LocalCommand.Close, cmd=", lcmd.cmd)

	if lcmd.cmd != nil && lcmd.cmd.Process != nil {
		// stop /bin/bash process
		_, err := lcmd.Write([]byte("\n\rexit\n\r"))
		log.Println("send exit, err=", err)
		err = lcmd.pty.Close()
		log.Println("pty close, err=", err)

	}

 

© 著作权归作者所有

qquunn
粉丝 7
博文 27
码字总数 6143
作品 0
广州
私信 提问
GoTTY 1.0.0 发布,将你的终端共享成一个 Web 应用

GoTTY 是一个简单的命令行工具,将您的 CLI 工具转成 Web 应用程序。 GoTTY 1.0.0 更新内容: 使用 --width 和 --height,可以设置固定的终端尺寸 使用 --max 连接 使用 --timeout 选项设置截...

王练
2017/05/22
2.9K
9
An Introduction to WebAssembly

The concept behind WebAssembly isn't new and is based on work that was pioneered by Mozilla (asm.js) and Google (Native Client – NaCl and Portable Native Client – PNaCl). One ......

Gerard Gallant
2017/12/19
0
0
ttyd -- 分享任意命令行程序到网页上

这个项目最初的灵感来源于平时操作无线路由器时想在网页上执行一些命令,但是目前的开源的路由器系统(openwrt)没有一个很好的网页终端模拟器,最多也只是支持执行一个命令然后把结果显示到...

tsl0922
2016/09/17
1K
1
How to create-react-app with Docker

How to create-react-app with Docker Peterbe.com2017-11-171 阅读 ReactappdockerCREATE Why would you want to use Docker to do React app work? Isn't Docker for server-side stuff l......

Peterbe.com
2017/11/17
0
0
docker加载容器失败问题

在centos上安装了docker,已经下载镜像docker pull docker 。执行docker run -t -I centos /bin/bash 报错如下:2014/07/31 16:36:21 POST /v1.12/containers/create [44ce9a2a] +job creat......

ZHF123
2014/07/31
12.8K
5

没有更多内容

加载失败,请刷新页面

加载更多

IT小白们进击前端工程师的学习路线:编辑器,基础进阶学习要点,框架

一、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站(例如京东、小米)做首页的布局。 二、JavaScript语法进阶。包括:作用域和闭包、this和对象原型等。相信我,JS语法,...

梦想编程
21分钟前
57
0
ZhaoWei-2020-01-19

Dubbo Dubbo是一个分布式服务治理框架,提供高性能和透明化的RPC远程服务调用方案及 SOA架构治理方案。 远程通信 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及 ...

SuSheePark
24分钟前
30
0
Python文件的常见标头格式是什么?

在有关Python编码准则的文档中,我遇到了以下Python源文件的头格式: #!/usr/bin/env python"""Foobar.py: Description of what foobar does."""__author__ = "Barack Obama"__cop......

javail
28分钟前
22
0
Linux 安装 jq

先下载jq安装包 https://stedolan.github.io/jq/download/将下载的安装包文件jq-linux64 拷贝到服务器下 wget -O jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-li......

乐易林谷
32分钟前
82
0
Elasticsearch深入:Refresh和Flush区别@

整体流程: 数据首先写入Buffer缓冲和Translog日志文件中。 当你写一条数据doc的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。 buffer满了或者每隔1秒(默认1秒...

HLee
36分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部