下面我们以Firefox为例,介绍该如何在Docker容器中运行GUI程序的简单步骤。
1. 安装 Docker
在开始前,首先得确保在linux主机中已经安装了Docker。这里运行的是CentOS 7 主机,我们将运行yum管理器和下面的命令来安装Docker。
# yum install docker # systemctl restart docker.service
2. 创建 Dockerfile
现在,Docker守护进程已经在运行中了,准备创建自己的Firefox Docker容器。我们要创建一个Dockerfile,在其中输入需要的配置来创建一个可以工作的Firefox容器。
为了运行 Docker镜像,我们需要使用最新版本的CentOS。要创建 Docker 镜像,需要用文本编辑器创建一个名为Dockerfile的文件。
# nano Dockerfile
接着,在Dockerfile中添加下面的行并保存。
#!/bin/bash FROM centos:7 RUN yum install -y firefox
# 用你自己的 uid /gid 替换下面的0
RUN export uid=0 gid=0 RUN mkdir -p /home/developer RUN echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash">>/etc/passwd RUN echo "developer:x:${uid}:">>/etc/group RUN echo "developer ALL=(ALL) NOPASSWD: ALL">>/etc/sudoers RUN chmod 0440/etc/sudoers RUN chown ${uid}:${gid}-R /home/developer USER developer ENV HOME /home/developer CMD /usr/bin/firefox 注意:在第四行的配置中,用你自己的用户和组id来替换0。我们可以用下面的命令在shell或者终端中得到uid和gid。 # id $USER
3. 构造Docker容器
下面我们就要根据上面的Dockerfile构建一个容器。它会安装firefox浏览器和它需要的包。接着会设置用户权限并让它可以工作。这里镜像名是firefox,你可以根据你的需要命名。
# docker build --rm -t firefox
4. 运行Docker容器
如果一切顺利,我们现在可以在运行CentOS 7镜像中的Docker容器里面,运行我们的GUI程序也就是Firefox浏览器了。
# docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix firefox
西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现的云服务产品。功能强大、简单易用;上万linux镜像,秒级开通,容器云产品选购链接 https://www.west.cn/paas/container/