docker上运行opengl依赖的服务
来源:互联网 发布:天猫商城的网络推广 编辑:程序博客网 时间:2024/05/17 08:14
在工作中遇到了需要在docker上运行存在opengl依赖的服务程序,现记录下来。
运行环境:centos 7
拿到的服务器没有xserver,需要先安装界面程序
1、安装Xwindows
yum -y groupinstall "X Windows System"
2、安装GNOME Desktop
yum -y groupinstall "GNOME Desktop"
完成安装后运行startx进入界面。
安装docker服务
1、yum install docker
启动docker服务
1、systemctl start docker
制作dockerfile(参考网上的教程,按自己需要添加修改部分代码)
创建docker目录
#mkdir docker
#cd docker
[root@node5 dockers]# ls
Dockerfile pack
[root@node5 dockers]#
其中pack目录下是docker上自己需要文件
#!/bin/bashFROM centos:7RUN yum -y install libpng12.x86_64RUN yum -y install mesa*RUN yum -y install cairo.x86_64RUN export uid=0 gid=0RUN mkdir -p /home/developerRUN echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwdRUN echo "developer:x:${uid}:" >> /etc/groupRUN echo "developer ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersRUN chmod 0440 /etc/sudoersRUN chown ${uid}:${gid} -R /home/developerUSER developerENV HOME /home/developerCOPY pack /homeCMD /home/vxMtsTranscode
docker build -t vxMtsTranscde:latest .
[root@node5 kk]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
transcode latest 8b6b69d67551 12 days ago 1.349 G
docker image制作好后
运行docker中的程序
docker run -ti --rm -p 9060:9060 -p 8000:22 --privileged -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix transcode /home/vxMtsTranscode/vxMtsTranscode -WorkerID 123 -Port 9060
这种方式是共享宿主机上的显示设备。
如果需要采用远程的xserver,比例192.168.10.233上的显示设备,则需要配置远端的xserver
确认已经远端服务器上X进程已经启动,6000或者6000以上的端口(如果DISPLAY为:0则为6000端口,为:1则为6001以此类推)。
运行xhost +
[root@node5 kk]# xhost +
access control disabled, clients can connect from any host
如上显示,则成功,需要在本机的命令行中运行,ssh中会出错。
运行docker中的程序
docker run -ti --rm -p 9060:9060 -p 8000:22 -e DISPLAY=192.168.10.233:0.0 transcode /home/vxMtsTranscode/vxMtsTranscode -WorkerID 123 -Port 9060
[root@node5 vxMtsTranscode]# docker run -ti --rm -p 9060:9060 -p 8000:22 -e DISPLAY=192.168.10.233:0.0 transcode /home/vxMtsTranscode/vxMtsTranscode -WorkerID 123 -Port 9060
线程[主线程][0x0001(1)]开始
运行成功。
- docker上运行opengl依赖的服务
- ECS上安装docker运行阿里云日志服务demo
- 关于服务发现、Feign、Zuul 以及docker之间的依赖
- Win10上运行Docker
- 使用docker运行gitlab服务
- windows 7上运行docker
- mesos上运行docker registry
- Windows7 上运行docker实战
- Windows7 上运行docker实战
- win10上安装运行Docker
- 在Azure上的Ubuntu Docker运行SQL Server
- 开发可运行于Docker上的Spring Boot应用
- 使用Docker在Nginx上运行简单的HTML网页
- 在 Azure 上的 Ubuntu Docker 运行 SQL Server
- Linux下java程序的依赖运行(上)
- Docker依赖的底层技术
- 管理服务的依赖
- 轻轻松松在centos上部署docker服务
- NO1 用户设置
- Android开发软件架构思考以及经验总结
- 使用js生产二维码
- kafka集群搭建
- 关于https的访问请求相关总结
- docker上运行opengl依赖的服务
- 回发或回调参数无效(ASP.NET)
- 经纬度计算距离
- Eclipse快捷键
- vim的基本使用
- 17 - 01 - 09 POJ 1363 (栈模拟)
- Java学习之Iterator(迭代器)的一般用法
- spring(-)
- 上海启动千亿级集成电路项目