容器化运行navicat并透传到Ubuntu界面,重构刷新试用天数

2 篇文章 0 订阅
1 篇文章 0 订阅

实验环境

ubuntu 18.04(gnome桌面)
navicat 15
docker 20.10.8

准备环境

没有图像需要安装,有就忽略
sudo apt-get install x11-xserver-utils
#每次打开新的终端都需要执行一下,docker的图像才允许连接
xhost +

构建navicat的镜像

使用Dockerfile构建,基于空白的ubuntu镜像构建,运行navicat,会缺少不少的库,根据报错安装需要的包,以下是试验出的Dockerfile文件

#基于Ubuntu镜像
FROM ubuntu:20.04
#定一个工作目录,可选,根据自己情况来
RUN mkdir /opt/navicat
WORKDIR /opt/navicat
#把准备好的linux版本navicat放到同级目录下
COPY navicat15-premium-cs.AppImage /opt/navicat
#复制本机的localtime文件到同级目录下,忘记什么原因了。。。。
COPY localtime /etc/localtime
#授权可执行
RUN chmod a+x /opt/navicat/navicat15-premium-cs.AppImage
#换个apt源,自带的源没问题的话,可以不用
RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
RUN sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
RUN sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
#防止update源报错中止操作(有些源报错不影响,但是会停止),把后续的步骤加上了||让它执行成功
#根据报错安装一些需要的包
RUN apt-get update || apt install -y libfuse2 
RUN apt install -y libglib2.0-0/focal
RUN apt install -y libgl1-mesa-glx
RUN apt install -y libpango-1.0-0/focal
RUN apt install -y libpangocairo-1.0-0/focal
#中文支持 
RUN apt install -y fonts-noto-cjk
#需要读取机器的UUID,容器里面没有,生成一个
RUN apt install -y uuid
RUN uuid | tr -d "-" > /etc/machine-id
CMD ["./navicat15-premium-cs.AppImage"]

docker build -t “navicat:v15” .

启动navicat容器

#-v /tmp/.X11-unix/  X11文件挂载进去,共享本地unix端口
# -e DISPLAY=unix$DISPLAY #修改环境变量DISPLAY    把docker 的设置和主机一样
#。。。
docker run -it  -v /tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=unix$DISPLAY	 -e GDK_SCALE -e GDK_DPI_SCALE  --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor=unconfined --name navicat navicat:v15

在这里插入图片描述

关闭后下次启动方式
docker start navicat

#不清楚navicat运行把注册信息放到什么地方,所以懒得找了
#过期了,把docker删除一下重新启动即可,速度快,删除前把配置导出来,再导进去即可

常见问题

无法连接display :0
可能1:尝试过使用ubuntu的软件商店安装docker,发现挂载/tmp的东西进去,里面是没有文件的,导致X11-unit目录没挂载进去出现问题

可能2:每次登录都需要执行xhost +

其他可能

这个思路对于其他的软件也行的通,如果是windows的软件,需要利用wine这个工具实现windows在linux运行,再用上面的思路透传出来,实现容器化windows软件测试了windows几个软件,多多少少都有点问题,不是安装不了,就是运行不起来,不然就是运行起来使用有问题,还需要试验一下。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值