[Share Experiences] deepin+docker 运行opencv成功,还可以显示界面.
Tofloor
poster avatar
colin_lao
deepin
2022-05-05 05:30
Author

我太难了。。。。。。。。。赔了好久啊,

本来好好的,但是在图形界面安装了nvidia驱动后漰溃啊,进不了系统。重装!!

原理简介
可以把docker镜像看做一台没配显示器的电脑,程序可以运行,但是没地方显示。
而linux目前的主流图像界面服务X11又支持 客户端/服务端(Client/Server)的工作模式只要在容器启动的时候,将 『unix:端口』或『主机名:端口』共享给docker,docker 就可以通过端口找到显示输出的地方,和linux系统共用显示。

————————————————
版权声明:本文为CSDN博主「xiu_cs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a806689294/article/details/111462627

验证
在docker容器中使用带有界面功能的时钟软件进行测试:

#进入容器
sudo docker exec -it 容器名或容器id /bin/bash
1
2
$ sudo apt-get install xarclock
$ xarclock
1
2
挂载成功的话,会出现如下时钟图形!!

注意!
每次重新开机,需要在本机操作一次 xhost + !!!

截图_选择区域_20220504212934.png

Reply Favorite View the author
All Replies
colin_lao
deepin
2022-05-05 05:34
#1

1.运行docker image

docker run -it -e DISPLAY
-e QT_X11_NO_MITSHM=1
-v /tmp/.X11-unix:/tmp/.X11-unix
-v $HOME/.Xauthority:/root/.Xauthority --name opencv_cpp_python3 1a3b5e3409f4 bash

2.删除(不可恢复)

docker rmi a8d7556aeed7

其他。。

docker ps -all
docker save yerkoca/opencvsharp4-ubuntu-dotnetcore-sdk>/Documents/opencv4.tar
docker load -i opencv4.tar
docker export -o opencv4-date +%Y%m%d.tar a8c2f2c78dc9
docker import opencv4-20220410.tar yerkoca/opencv4-new

Reply View the author