前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker运行图形应用程序

Docker运行图形应用程序

作者头像
kongxx
修改2023-09-20 17:58:40
1.6K0
修改2023-09-20 17:58:40
举报

今天要用Docker在容器里运行一个带图形界面的应用程序,所有简单试了一下,还是比较容易实现,下面是我整理的步骤。

Dockerfile

首先创建一个Dockerfile,内容如下:

代码语言:javascript
复制
FROM centos:7

RUN yum install -y sudo tar wget openssh-server openssh-clients openssl openssl-devel epel-release
RUN yum install -y gedit

#RUN yum groupinstall -y "GNOME Desktop"
#RUN yum groupinstall -y "Development and Creative Workstation"

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config \
    && echo 'root:admin' | chpasswd \
    && useradd -u 1000 admin \
    && echo "admin:admin" | chpasswd \
    && echo "admin   ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers \
    && ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key \
    && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key \
    && mkdir /var/run/sshd

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

主要就是安装了一些第三方包,这里是使用的gedit来做的测试,如果要使用别的程序,可以适当的修改一下。或者如果网速很快的话,可以直接安装"GNOME Desktop"(这个会安装很多包,懒人专用)。

另外就是最后启动了一个sshd服务,目的是为了我测试方便,可以换成自己封装的应用程序。

创建镜像

代码语言:javascript
复制
$ sudo docker build --rm -t docker-gui .

设置xhost

为了能让容器里的应用程序投送到当前的窗口上,需要运行下面命令来允许任意的客户端访问。

代码语言:javascript
复制
$ xhost +
access control disabled, clients can connect from any host

运行应用程序

代码语言:javascript
复制
sudo docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix docker-gui gedit
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Dockerfile
  • 创建镜像
  • 设置xhost
  • 运行应用程序
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档