问题描述
我尝试自定义 noVNC html 以更好地缩放工作区以隐藏fluxBox 的灰色区域(工具栏),如下图所示,我成功了。
和默认屏幕比这个小
这是我的 dockerfile,用于自定义版本的 noVNC-docker hub 存储库中的图像名称 -> ddddv1/nonvcj
FROM alpine:edge
RUN \
# Install required packages
echo "http://dl-3.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk --update --upgrade add \
bash \
fluxBox \
git \
supervisor \
xvfb \
x11vnc \
&& \
# Install noVNC
# customised github repo code -> https://github.com/gg-gg-v1/noVNCJmeter.git
git clone --depth 1 https://github.com/gg-gg-v1/noVNCJmeter.git /root/noVNC && \
git clone --depth 1 https://github.com/novnc/websockify /root/noVNC/utils/websockify && \
rm -rf /root/noVNC/.git && \
rm -rf /root/noVNC/utils/websockify/.git && \
apk del git && \
sed -i -- "s/ps -p/ps -o pid | grep/g" /root/noVNC/utils/launch.sh
# here adding external site-packages since default python3.9 does not have site-packages
ADD site-packages/ /usr/lib/python3.9/
copY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
EXPOSE 8080
# Setup environment variables ~/.fluxBox/init
ENV HOME=/root \
DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
disPLAY=:0.0 \
disPLAY_WIDTH=1024 \
disPLAY_HEIGHT=768
CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]
但是当我在自定义的 noVNC docker 中运行 Jmeter 时,良好的缩放再次消失了,我回来了看起来不太好的小缩放,请参见下图
为什么这是小规模的,并且有一个黑色边框包裹 jmeter ?我们可以以良好的规模启动 Jmeter 吗?
我在下面的 docker 文件中使用上面定制的 docker 镜像(ddddv1/nonvcj)并在 docker 中启动它
FROM ddddv1/nonvcj
RUN \
apk add --no-cache curl openjdk8-jre bash nss \
# && apk add ca-certificates \
# && update-ca-certificates \
# && apk add --no-cache nss \
&& curl -L https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.1.tgz > /tmp/jmeter.tgz \
&& mkdir -p /opt \
&& tar -xvf /tmp/jmeter.tgz -C /opt \
&& rm /tmp/jmeter.tgz \
&& cd /etc/supervisor/conf.d \
&& echo '[program:jmeter]' >> supervisord.conf \
&& echo 'command=/opt/apache-jmeter-5.4.1/bin/./jmeter' >> supervisord.conf \
&& echo 'autorestart=true' >> supervisord.conf
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/
RUN export JAVA_HOME
- 我在这里使用的是过时的东西(apk 或 alpine,会有所不同)还是一些额外的东西?
- 如何删除或隐藏显示在下侧的fluxBox 工具栏[工作区1],我手动隐藏了带有fluxBox 配置的工具栏,但我想使用docker 文件执行此操作有什么帮助吗?
解决方法
我不知道 good scaling
是什么,但您似乎是 setting VNC resolution 到 1024x768
DISPLAY_WIDTH=1024 \
DISPLAY_HEIGHT=768
并且您的桌面/浏览器分辨率更高,只需调整它以匹配您的浏览器窗口即可。
关于隐藏工具栏,您可以创建 ~/.fluxbox/init
文件并将 session.screen0.toolbar.visible=false
行放在那里,例如:
echo 'session.screen0.toolbar.visible=false' >> ~/.fluxbox/init
此外,您还不清楚您要实现的目标,在 docker 中以 GUI 模式运行 JMeter 没有多大意义,因为 GUI 用于测试开发和调试,而在本地执行此操作会更方便在浏览器窗口中工作,因为您可以使用键盘快捷键和上下文菜单。
如果您打算使用 docker swarm 或 k8s 进行测试缩放,您将需要 run JMeter in command-line non-GUI mode,这会使您的图像不适合此用途。