Docker VNC 中 chrome 浏览器中文乱码问题请教

测试小书童 · July 21, 2017 · Last by 白纸 replied at November 24, 2017 · 2870 hits
FROM selenium/standalone-chrome-debug:3.4.0

USER root

RUN apt-get update \
&& apt-get -y install ttf-wqy-microhei ttf-wqy-zenhei \
&& apt-get clean

编译: docker build -t debug/chinese .

  • 设置compose.yml
hub:
image: selenium/hub
ports:
- "4444:4444"
firefox:
image: selenium/node-firefox
ports:
- 5901:5900
links:
- hub
chrome:
image: selenium/node-chrome
ports:
- 5902:5900
links:
- hub
node-chrome-debug:
image: selenium/node-chrome-debug
ports:
- 5900:5900
links:
- hub
chinese:
image: debug/chinese
ports:
- 5903:5900
links:
- hub
  • 查看启动容器,chinese为5903端口

  • 问题:
    • 用vnc进入到192.168.99.100:5900 打开百度依然显示的乱码
    • 用vnc进入到192.168.99.100:5903 无法连接

请问下后续的步骤该如何设置?@ycwdaaaa @lunamagic

后续

中文乱码问题已经解决

  • 家里的长城宽带的问题,造成我的dockerfile超时
  • dockerfile的中文字体继承selenium/node-chrome是可以的,失败的testcase截图看到的是中文
  • dockerfile的中文字体继承standalone-chrome-debug 后,打开5900端口,无法用vnc连接,不知是不是公司防火墙问题
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 20 条回复 时间 点赞

自己写一个dockerfile, 继承它的镜像,然后安装字体就行了。 我是这么写的:

  1. 你连接的5903好像不是你设置了字体的那个镜像把。还是原生的那个。
  2. 连接不上的问题,先用netstate查看一下容器是否开启了5900端口, 再去宿主机看看iptables的规则,NAT那张表里是不是已经做了5900的地址转换了。

顺便一提, 启动的时候千万别忘了设置环境变量来控制hub和node的参数。 尤其是要挂载/dev/shm。 否则会crash到你怀疑人生的。 如下:

孙高飞 回复
  • 用vnc进入到192.168.99.100:5900 打开百度依然显示的乱码
  • 用vnc进入到192.168.99.100:5903 无法连接

我用 docker-machine restart default 过,依然如此

有点乱,你到底连的哪个容器?

@ycwdaaaa 我连的这个:192.168.99.100:5900,对应于compose.yml里的设置:

node-chrome-debug:
image: selenium/node-chrome-debug
ports:
- 5900:5900
links:
- hub
chinese:
image: debug/chinese
ports:
- 5903:5900
links:
- hub:cold_sweat:

这个容器用的镜像不还是原生的么。 不是你做的那个chinese的。

孙高飞 回复

好的,我明白了改成这样了

node-chrome-debug:
image: debug/chinese
ports:
- 5900:5900
links:
- hub

但是连接5900端口,无法连接,我先按照你给的建议我查下,感谢

你可以选择带中文的镜像

孙高飞 回复

你好,请教下,我这里的确经常遇到你说的问题,在哪里设置?是docker-compose.yml中吗?

你是说进场crash的问题么? 如果是这个问题确实是要在docker-compose里设置一下。下面是我之前写的docker-compose,好久没用了,你可以试试。 主要是就是多个node和浏览器一起跑的时候内存利用不当的问题。 挂载并共享宿主机的/dev/shm 能有效解决这个问题

孙高飞 回复

非常感谢

你vnc 无法链接的问题是什么原因

nanzhang 回复

带中文的镜像 能说下名字吗

孙高飞 回复


我是这样写的,执行docker-comp up 报错

请问这是什么原因

白纸 回复

你这是格式错误了,单词拼错了,是images,你可以用这个检查下你的yml文件格式:http://www.yamllint.com/

你vnc 无法链接的问题是什么原因 ,解决了吗 我用了dockerfile 的镜像后,也无法用vnc链接,但是selenium/node-chrome-debug 可以

感谢,报错的问题解决了,但是遇到了,启动docker-comp up 之后只启动了hub 没启动 chrome
---
hub:
container_name: hub
image: selenium/hub
ports:
- "5554:4444"
registry:
container_name: chrometest
environment:
DBUS_SESSION_BUS_ADDRESS: /dev/null
NODE_MAX_INSTANCES: 5
NODE_MAX_SESSION: 5
NODE_REGISTER_CYCLE: 5000
image: test/chrome
links:
- hub
ports:
- "5901:5900"
volumes:
- "dev/shm:/dev/shm"

白纸 回复

遇到你同样的问题,确实加入中文字体的镜像,ping不通,这是什么问题

楼主最后有解决连接不上问题没

songer 回复

正常是没问题的,看下上面的评论吧。时间有点长,忘记怎么解决的了。好像是粗心写错了什么东西

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up