使Docker Container支持运行SWT程序
1, 下载安装JDK的docker container
我是从这个源下载已经做好的JDK8的container:
https://registry.hub.docker.com/u/dockerfile/java/
docker run -it --rm dockerfile/java:oracle-java8
2, 添加GUI支持
有好几种方案,我使用的是这种:
http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/
还有一种是:
https://pelle.io/2014/07/11/delivering-gui-applications-with-docker/
我没有试过。
3,安装swt-gtk
但是这时候运行swt程序,还是会抛如下错误:
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-gtk-3740 in java.library.path no swt-gtk in java.library.path Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk.so
需要:
1) 添加architecture i386
sudo dpkg --add-architecture i386
sudo apt-get update
参考:
http://askubuntu.com/questions/551840/unable-to-locate-package-libc6-dbgi386-in-docker
2)安装gtk
sudo apt-get install libgtk2.0-0:i386
参考:
http://askubuntu.com/questions/232691/cannot-open-shared-object-file-no-such-file-or-directory
3)安装swt支持
sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java
并拷贝到
sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/
使Docker Container支持运行SWT程序的更多相关文章
- 在 Docker 容器中运行应用程序
案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 ...
- 在docker container中运行docker-compose
为了保持宿主主机的环境干净,因此将docker-compose安装到一个基于centos7.3的容器之中,因为tianchao屏蔽了amazonaws,最后选择了通过pip方式来安装,这也是官方推荐的 ...
- 关于运行SWT程序遇到的一个错误的总结
具体的错误信息如下: Exception in thread "main" java.lang.SecurityException: SHA1 digest error for o ...
- 在Docker for Windows中运行GUI程序
Docker运行GUI原理 Docker目前大多应用在服务器领域,那么在Docker中可以运行GUI程序吗?怀着好奇心google了一番,还真有人写了一篇文章 running-gui-applicat ...
- Docker源码分析(七):Docker Container网络 (上)
1.前言(什么是Docker Container) 如今,Docker技术大行其道,大家在尝试以及玩转Docker的同时,肯定离不开一个概念,那就是“容器”或者“Docker Container”.那 ...
- 如何在查看docker container内进程信息,与宿主机上进程信息的映射关系
docker container内运行的进程,在宿主机上,通过ps也是能够查到的,但是在不熟悉命令的时候,无法快速找到他们的关系. 这里科普一个基础命令 docker top 1. 找到容器的id d ...
- 【转】如何配置EditPlus中Java运行环境,运行Java程序
如何配置EditPlus中Java运行环境,运行Java程序 http://jingyan.baidu.com/article/86112f13725e2e2736978711.html 分步阅读 E ...
- Docker4Windows -- 从外部(非本机host)访问 由docker container运行的程序
背景 当我们在windows 上面运行docker container的时候,我们需要借助于模拟器(例如,Virtual box/Hyper V),她的目的主要是在我们的windows系统上面模拟出一 ...
- 如何在一个Docker中同时运行多个程序进程?
我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程 那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOI ...
随机推荐
- iOS 10的正确解锁方式
在iOS 10上,锁屏状态通过按下电源键点亮屏幕之后,用手指轻触Home键,实际上手机是已经解锁了的,不信请看如下截图: 虽然手机已经解锁,但与iOS 9不同的是,此时手机还处在解锁界面而没有进入主屏 ...
- MVC 上传 下载
[上传]带进度条 view 注:添加easyui的js文件 <script type="text/javascript"> function fileSelected ...
- C# Extension Methods
In C#, extension methods enable you to add methods to existing class without creating a new derived ...
- JSP 登录与注册的小案例之二(无验证码,前端拦截空参)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- iOS,信息加解密
1.AES加解密 AES加解密 // // AESEncryptAndDecrypt.h // NSData扩展方法,用于处理aes加解密 // // Created by Vie on 16/ ...
- MVC之权限管理-网站开发之路
一.前言 刚到公司没多长时间就开始接触MVC到现在不能说懂了,只能说到达会用这个层次吧,感觉MVC用来写Web还是很强大的,层次清晰. 今天我来写写关于权限管理这一块,自我感觉网站的权限主要分为菜单权 ...
- 【git常见问题】fatal: Not a valid object name: 'master'.
创建本地分支:git branch dev 报错:fatal: Not a valid object name: 'master'. 原因: 问题描述-一个非法的master,原因:本地还没有创建ma ...
- Javascript模块化编程(三):require.js的用法(转)
这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...
- Python中递归的最大次数
实际应用中遇到了一个python递归调用的问题,报错如下: RuntimeError: maximum recursion depth exceeded while calling a Python ...
- LINQ使用细节之.AsEnumerable()和.ToList()的区别
先看看下面的代码,用了 .AsEnumerable(): 1 var query = (from a in db.Table2 where a = SomeCondition3 select a.So ...