Tag: websocket

docker集装箱的Web控制台

情况 有一个名为“app-data”的数据专用容器 有一个复印机的容器工人 最初创build应用程序/数据就是这样,它的状态是“停止”/退出。 然后,复印机工作人员将一些文件复制到应用程序/数据卷中,例如server.py 好吧,这样做是这样的: docker run –rm –volumes-from app-data /somelocation/server.py ~/www/ 复印机需要2个参数,要复制的文件和复制的位置 有了这个,我可以运行一个名为app / serve的映像来服务卷中的文件,如下所示: docker run –volumes-from app-data -d -P app/serve 图像入口点做这个http-server,而workdir与数据量相同,所以它会运行 地狱是的,它的工作原理,可以在主机上访问python web应用程序,像这样:0.0.0.0:49124,因为应用程序/服务映像暴露了由sever.py脚本使用的端口5000 我有上面的工作,你可以集中在下面。 所以应用程序可以运行? 但我想做更复杂的事情,只是运行应用程序(我运行应用程序使用远程API),如果我想运行应用程序使用连接到docker集装箱的Web控制台。 我的想法是如何可能的 使用term.js 暴露2个端口,例如(4000,5000) 使用端口4000,以便当term.js在端口4000中执行时,它将生成一个高端端口供客户端在Web控制台套接字连接中使用 使用端口5000允许任何运行在端口5000上的Web应用程序将在另一个高端端口中可用,以便像0.0.0.0:49124那样访问 这是一个runnable / dockworker如何执行的原型实现,对于nodejs我还是一个新的东西,这就是为什么我不能理解它们是如何实现的,这个想法是否会有一个function较less的简单执行?

迁移已build立的与docker集装箱的TCP连接

是否有可能透明地将build立的TCP连接与Docker容器一起从一个节点迁移到另一个节点? 我的用例是扩展/重新调度依赖于WebSockets的Web应用程序,但是我相信其他应用程序协议和普通的tcp会有更多的用例。 我正在寻找的是一种完全透明地为客户端应用程序完成的方法。 我知道有可能断开连接重新连接,但这不是我所需要的。 我一直在看SockMI代理,但它似乎还在testing和丢失的文档。 如果我正确理解这一点,那么迁移将需要高层次的以下内容: 触发缩放操作(当所有需要启动时) 在新节点上启动replace容器 冻结原始节点上的容器进程 把TCP连接保持 将进程及其状态转移到新节点 迁移TCP连接

可以用docker正确closureswebsocket

这个问题关系与这另一个有关: closures似乎不适用于WebSocket 。 我不想做一个复制/粘贴,所以你可以去其他问题有关代码的细节。 我在Docker上用Websocket运行一个程序。 它允许连接,但是当我做window.ws = new WebSocket('ws://127.0.0.1:8000/'); ws.close(); window.ws = new WebSocket('ws://127.0.0.1:8000/'); ws.close(); ,服务器似乎没有被通知比客户已经closures。 当我没有docker运行相同的代码,它的工作原理。 这是我的Dockerfile: FROM ruby:2.2.2 RUN apt-get update -qq && apt-get install -y build-essential RUN apt-get install -y qt5-default libqt5webkit5-dev xvfb RUN mkdir /app ADD . /app WORKDIR /app ONBUILD RUN chown -R app /app RUN gem install bundler RUN […]

Docker swarm与NGINX代理和websockets

我不确定这是否可以实现。 我使用以下版本在群集模式下运行docker: 客户端:版本:17.03.0-ce API版本:1.26 Go版本:go1.7.5 Git commit:3a232c8内置:星期二2月28日08:10:07 OS / Arch:linux / amd64 服务器:版本:17.03.0-ce API版本:1.26(最低版本1.12)Go版本:go1.7.5 Git commit:3a232c8内置:星期二2月28日08:10:07 OS / Arch:linux / amd64实验:true 我正在运行一个基于websocket的应用程序在一个NGINX反向代理(也在同一个堆栈使用相同的覆盖networking)的堆栈。但是,我注意到以下错误。 该应用程序是基于节点js的。 当从上游读取响应头时,上游超时(110:操作超时):client:xxxx,server:,request:“GET /socket.io/?EIO=3&transport=polling&t=LiGxq_l&sid=As9AJ2pEHieTGXP6AAAC HTTP / 1.1” “ http://xxxx/socket.io/?EIO = 3&transport = polling&t = LiGxq_l&sid = As9AJ2pEHieTGXP6AAAC ”,host:“”,referrer:“” 显然,客户端套接字连接无法parsing到群中托pipe的服务集群。 是否有Docker Swarm的解决schemeconfiguration,或者它是不可能的? 我没有太多的运气得到任何search解决scheme的命中。 感谢您的任何反馈。 BTW。 服务的单个实例工作正常。

如何使用Kubernetes与websocket做多人在线游戏?

如果用websocket开发一个在线实时游戏,运行在不同容器上的多玩家,如何在玩游戏时添加或减less容器时同步数据? kubernetes在这种情况下有什么好的function吗?

无法将terminal连接到docker中正在运行的容器

我正在尝试: https://github.com/rainforestapp/Docker-Terminal 我已经把docker工人听tcp; 所以我已经成功地打开了端口4242(-d -H = tcp:// localhost:4242); 我运行一个裸容器: docker pull dhrp/sshd 然后跑: docker run -d -t dhrp/sshd 我可以看到容器正在运行; 但是当我附加到它(使用Dockerterminal),它显示:会话开始,然后什么也没有。 我在这里做错了什么? 谢谢

Websocket(Python 3.5中的ws4py)不能在Docker容器中工作

我有一个简单的Web应用程序,它使用CherryPy作为RESTful后端,ws4py作为websockets。 1) Javascript client sends a POST to Python backend 2) Python replies with a unique id 3) Javascript connects to the websocket and sends the unique id 4) Python associates the websocket client connection to the unique id Python websocket代码: class WebSocketHandler(WebSocket): def __init__(self, *args, **kw): WebSocket.__init__(self, *args, **kw) print('Connected to websocket server!') SUBSCRIBERS.add(self) […]

Docker无法连接到Websocket PHP

我无法连接到WebSocket使用Doker容器 我的docker-compose.yml: ` version: "2" services: db: image: mysql ports: – 3306:3306 volumes: – "./.data/db:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: "qwerty" MYSQL_DATABASE: "web_face" MYSQL_USER: "web_face" MYSQL_PASSWORD: "qwerty" php: build: php7-fpm ports: – 9000:9000 – 3333:3333 links: – db:mysqldb volumes: – ../www/:/var/www/symfony – ../logs/symfony:/var/www/symfony/app/logs – ../logs/php:/data/log/phpfpm/ nginx: build: nginx ports: – 80:80 links: – php volumes_from: – php volumes: […]

使用AWS Application Load Balancer的Websocket超时

在尝试使用Elastic Beanstalk环境中的应用程序负载均衡器专门为websockets使用端口时,会出现网关超时。 Web应用程序和websocket服务器被保存在一个Docker容器中,应用程序运行正常,但是wss://domain.com:8080只会超时。 这里是负载均衡器监听器,使用SSL证书的wss。 它指向的目标组是接受HTTP协议(我试过HTTPS),并转发到8080到EC2实例。 或者..应该是。 (似乎不是应用程序负载平衡器上的TCP选项)。 我查看了应用程序负载均衡器日志,它看起来像到达目标组,但超时了它与EC2实例的连接,并且我很难理解为什么。 所有AWS安全组目前已经在所有stream量上打开,我已经检查了主机,发现端口已打开并正在被Nginx监听,该端口将路由到正确的端口到docker容器: docker ps也给我看: 一旦进入容器,我可以看到Websocket服务器正在监听端口: 所以它不可能是EC2实例本身,可以吗? 在ALB中通过端口路由websockets是否存在问题? – 编辑 – ALB当前SG: EC2实例SG:

打开一个从Docker容器到另一个容器的WebSocket连接(能够在cli中ping容器但不能通过ws)

我使用docker-compose来运行2个容器,1个运行一个反应应用程序,另一个运行一个rabbitmq服务器。 version: '2' services: node.app.local: build: context: ./node container_name: app-node hostname: node.app domainname: local tty: true volumes: – "${SOURCES_PATH}/app:/var/www/app" ports: – 8091:8091 expose: – 8091 links: – rabbitmq.app.local working_dir: "/var/www/app" rabbitmq.app.local: image: rabbitmq:3.6.10 container_name: app-rabbitmq hostname: rabbitmq.app domainname: local tty: true expose: – 5672 – 15672 – 15674 我知道我的节点容器和我的rabbitmq服务器之间的链接工作正常,因为我可以从我的节点容器ping服务器: $ docker exec -it app-node bash […]