如何把程序装入docker容器中

如何把程序装入docker容器中?我们可以轻易地在docker容器中运行大多数GUI程序且不出错。Docker容器可以打包不同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。

下面我们以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中添加下面的行并保存。

#!/bash
FROM centos:7
RUN yum install -y firefox

# 用你自己的 uid /gid 替换下面的0

RUN export uid=0 gid=0
RUN mkdir -p /developer
RUN echo "developer:x:${uid}:${gid}:Developer,,,/bash">>/passwd
RUN echo "developer:x:${uid}:">>/group
RUN echo "developer ALL=(ALL) NOPASSWD: ALL">>/sudoers
RUN chmod /sudoers
RUN chown ${uid}:${gid}-R /developer
USER developer
ENV HOME /developer
CMD /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 /.X11-unix firefox

融亿云的容器云是通过docker技术,在集群服务器上部署容器服务实现的云服务产品。功能强大、简单易用;上万linux镜像,秒级开通,容器云产品选购链接

标签:
最后更新:2022/02/09
免责声明:本站部分内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。
如果您发现本社区中有涉嫌抄袭的内容请发送邮件至:Hi@r1yun.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

在线评论